From 5b7589eb27e748a3d281c0341219cf7435e8b4f1 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Sun, 26 Apr 2009 11:25:19 +0000 Subject: hush: fix SEGV in % expansion function old new delta expand_variables 2203 2217 +14 --- shell/match.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'shell/match.c') diff --git a/shell/match.c b/shell/match.c index 47038d667..a7101ef7e 100644 --- a/shell/match.c +++ b/shell/match.c @@ -11,8 +11,6 @@ * Kenneth Almquist. * * Licensed under the GPL v2 or later, see the file LICENSE in this tarball. - * - * Original BSD copyright notice is retained at the end of this file. */ #ifdef STANDALONE # include @@ -28,7 +26,7 @@ #define pmatch(a, b) !fnmatch((a), (b), 0) -char *scanleft(char *string, char *pattern, bool zero) +char *scanleft(char *string, char *pattern, bool match_at_left) { char c; char *loc = string; @@ -38,7 +36,7 @@ char *scanleft(char *string, char *pattern, bool zero) const char *s; c = *loc; - if (zero) { + if (match_at_left) { *loc = '\0'; s = string; } else @@ -55,7 +53,7 @@ char *scanleft(char *string, char *pattern, bool zero) return NULL; } -char *scanright(char *string, char *pattern, bool zero) +char *scanright(char *string, char *pattern, bool match_at_left) { char c; char *loc = string + strlen(string); @@ -65,7 +63,7 @@ char *scanright(char *string, char *pattern, bool zero) const char *s; c = *loc; - if (zero) { + if (match_at_left) { *loc = '\0'; s = string; } else @@ -88,7 +86,7 @@ int main(int argc, char *argv[]) char *string; char *op; char *pattern; - bool zero; + bool match_at_left; char *loc; int i; @@ -117,15 +115,15 @@ int main(int argc, char *argv[]) continue; } op = string + off; - scan = pick_scan(op[0], op[1], &zero); + scan = pick_scan(op[0], op[1], &match_at_left); pattern = op + 1; if (op[0] == op[1]) op[1] = '\0', ++pattern; op[0] = '\0'; - loc = scan(string, pattern, zero); + loc = scan(string, pattern, match_at_left); - if (zero) { + if (match_at_left) { printf("'%s'\n", loc); } else { *loc = '\0'; -- cgit v1.2.3