summary refs log tree commit diff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--ChangeLog4
-rw-r--r--src/expand.c15
2 files changed, 12 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 0030738..4bc9181 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2008-01-01  Herbert Xu <herbert@gondor.apana.org.au>
+
+	* Fix slash treatment in expmeta.
+
 2007-12-27  Herbert Xu <herbert@gondor.apana.org.au>
 
 	* Add FAKEEOFMARK for expandstr.
diff --git a/src/expand.c b/src/expand.c
index f3d63c4..5986236 100644
--- a/src/expand.c
+++ b/src/expand.c
@@ -1287,15 +1287,16 @@ expmeta(char *enddir, char *name)
 					break;
 				}
 			}
-		} else if (*p == '\\')
-			p++;
-		else if (*p == '/') {
-			if (metaflag)
-				goto out;
-			start = p + 1;
+		} else {
+			if (*p == '\\')
+				p++;
+			if (*p == '/') {
+				if (metaflag)
+					break;
+				start = p + 1;
+			}
 		}
 	}
-out:
 	if (metaflag == 0) {	/* we've reached the end of the file name */
 		if (enddir != expdir)
 			metaflag++;