about summary refs log tree commit diff
path: root/Src/exec.c
diff options
context:
space:
mode:
authorRicardo Giorni <ricardo@giorni.co>2018-04-29 12:05:39 -0700
committerBarton E. Schaefer <schaefer@zsh.org>2018-04-29 12:05:39 -0700
commitf7519811e1bbe990ff1c3d499ffb70cfc2d034f8 (patch)
tree1bd8450fa2b3abea765dcb87a87f7f5965df53a0 /Src/exec.c
parent2d3b3510a80046cd4222bf9c515afc90bdf76418 (diff)
downloadzsh-f7519811e1bbe990ff1c3d499ffb70cfc2d034f8.tar.gz
zsh-f7519811e1bbe990ff1c3d499ffb70cfc2d034f8.tar.xz
zsh-f7519811e1bbe990ff1c3d499ffb70cfc2d034f8.zip
47201: fix 42355 for multiple backslashes
Diffstat (limited to 'Src/exec.c')
-rw-r--r--Src/exec.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/Src/exec.c b/Src/exec.c
index ee55aac8c..64cf5ae46 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -4435,16 +4435,16 @@ gethere(char **strp, int typ)
 		bptr = buf + bsiz;
 		bsiz *= 2;
 	    }
-	    if (lexstop)
+	    if (lexstop || c == '\n')
 		break;
-	    if (c == '\n') {
-		if (!qt && bptr > t && *(bptr - 1) == '\\') {
-		    /* line continuation */
+	    if (!qt && c == '\\') {
+		*bptr++ = c;
+		c = hgetc();
+		if (c == '\n') {
 		    bptr--;
 		    c = hgetc();
 		    continue;
-		} else
-		    break;
+		}
 	    }
 	    *bptr++ = c;
 	    c = hgetc();