hush: fix SEGV in % expansion

function                                             old     new   delta
expand_variables                                    2203    2217     +14

diff --git a/shell/match.c b/shell/match.c
index 47038d6..a7101ef 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 <stdbool.h>
@@ -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 @@
 		const char *s;
 
 		c = *loc;
-		if (zero) {
+		if (match_at_left) {
 			*loc = '\0';
 			s = string;
 		} else
@@ -55,7 +53,7 @@
 	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 @@
 		const char *s;
 
 		c = *loc;
-		if (zero) {
+		if (match_at_left) {
 			*loc = '\0';
 			s = string;
 		} else
@@ -88,7 +86,7 @@
 	char *string;
 	char *op;
 	char *pattern;
-	bool zero;
+	bool match_at_left;
 	char *loc;
 
 	int i;
@@ -117,15 +115,15 @@
 			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';