diff options
author | Jo-Philipp Wich <jo@mein.io> | 2020-11-30 19:23:01 +0100 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2020-11-30 19:23:01 +0100 |
commit | 7caf3331ba7d8f0dd91659e4001c9d8256bf4558 (patch) | |
tree | ba6a32a3eb675fca44f0fc50d280037f1e70a4df /lexer.c | |
parent | b94c01f29408600721c7e3302392e9015fc7bafd (diff) |
syntax: fix quirks when parsing octal sequences
- Eliminate dead code left after regex literal parsing changes
- Properly handle short octal sequences at end of string
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'lexer.c')
-rw-r--r-- | lexer.c | 19 |
1 files changed, 3 insertions, 16 deletions
@@ -414,21 +414,8 @@ parse_string(struct uc_state *s) case '5': case '6': case '7': - case '8': - case '9': - /* likely octal */ - if (*ptr < '8') { - s->lex.esc[s->lex.esclen++] = 'o'; - s->lex.esc[s->lex.esclen++] = *ptr; - } - - /* non-octal char, add verbatim */ - else { - s->lex.is_escape = false; - lookbehind_append(s, ptr, 1); - buf_consume(s, (ptr + 1) - s->lex.bufstart); - } - + s->lex.esc[s->lex.esclen++] = 'o'; + s->lex.esc[s->lex.esclen++] = *ptr; break; default: @@ -549,7 +536,7 @@ parse_string(struct uc_state *s) } s->lex.esclen = 4; - buf_consume(s, ptr - s->lex.bufstart); + buf_consume(s, ptr-- - s->lex.bufstart); } /* append */ |