summary refs log tree commit diff
path: root/src/parser.c
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2007-09-24 16:17:20 +0800
committerHerbert Xu <herbert@gondor.apana.org.au>2007-09-24 16:17:20 +0800
commit880d95239e64f1dfd2b4fb49f32e1e0e59c69a67 (patch)
tree42e594dad1d31a24d4ed795008501f3f38f44637 /src/parser.c
parent[BUILTIN] test: little size and speed optimizations (diff)
downloaddash-880d95239e64f1dfd2b4fb49f32e1e0e59c69a67.tar.gz
dash-880d95239e64f1dfd2b4fb49f32e1e0e59c69a67.zip
[EXPAND] Do not quote back slashes in parameter expansions outside quotes
Test case:

	a=/b/c/*
	b=\\
	echo ${a%$b*}

Old result:

	/b/c/*

New result:

	/b/c/
Diffstat (limited to '')
-rw-r--r--src/parser.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/parser.c b/src/parser.c
index 6faff17..279d49e 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -891,7 +891,9 @@ readtoken1(int firstc, char const *syntax, char *eofmark, int striptabs)
 					USTPUTC(CTLESC, out);
 				USTPUTC(c, out);
 				break;
-			case CBACK:	/* backslash */
+			/* backslash */
+			case CBACK:
+			case CDBACK:
 				c = pgetc2();
 				if (c == PEOF) {
 					USTPUTC(CTLESC, out);