diff options
author | P. J. McDermott <pj@pehjota.net> | 2016-02-21 03:21:31 (EST) |
---|---|---|
committer | P. J. McDermott <pj@pehjota.net> | 2016-02-21 03:21:31 (EST) |
commit | 2b85678c578cb22d15d449ab70872d3b6b6b9364 (patch) | |
tree | 4146901112f5a582057f22678c1835a09e6c3d67 /parsing/lexer.sh | |
parent | 84bc61b8d596f3d342980e98b9c580d655ea0778 (diff) | |
download | eggshell-2b85678c578cb22d15d449ab70872d3b6b6b9364.zip eggshell-2b85678c578cb22d15d449ab70872d3b6b6b9364.tar.gz eggshell-2b85678c578cb22d15d449ab70872d3b6b6b9364.tar.bz2 |
Don't loop forever on unterminated singly quoted string in words
Diffstat (limited to 'parsing/lexer.sh')
-rw-r--r-- | parsing/lexer.sh | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/parsing/lexer.sh b/parsing/lexer.sh index 53af926..292d2fa 100644 --- a/parsing/lexer.sh +++ b/parsing/lexer.sh @@ -451,9 +451,15 @@ scan_word() while :; do lgetc word="${word}${c}" - case "${c}" in \') - break - ;; + case "${c}" in + '') + synerr '%s %s' \ + 'Unterminated' \ + 'quoted string' + ;; + \') + break + ;; esac done ;; |