summary refs log tree commit diff
path: root/lisc/parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'lisc/parse.c')
-rw-r--r--lisc/parse.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/lisc/parse.c b/lisc/parse.c
index bf509d1..7053ba5 100644
--- a/lisc/parse.c
+++ b/lisc/parse.c
@@ -266,10 +266,12 @@ lex()
 		tokval.str = vnew(0, 1);
 		for (i=0;; i++) {
 			c = fgetc(inf);
+			vgrow(&tokval.str, i+1);
 			if (c == '"')
-			if (!i || tokval.str[i-1] != '\\')
+			if (!i || tokval.str[i-1] != '\\') {
+				tokval.str[i] = 0;
 				return TStr;
-			vgrow(&tokval.str, i+1);
+			}
 			tokval.str[i] = c;
 		}
 	}