diff options
| author | gingerBill <bill@gingerbill.org> | 2018-08-10 17:48:29 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2018-08-10 17:48:29 +0100 |
| commit | d0fc9aa06941f3fcd08d4c74c5c139c54be9bc81 (patch) | |
| tree | bead39436d9aaec23562a982e29324ddf32b1482 | |
| parent | 8be9b5082cb8270df6af1ef2369c5990a2478f42 (diff) | |
Allow for '\"'
| -rw-r--r-- | src/string.cpp | 3 | ||||
| -rw-r--r-- | src/tokenizer.cpp | 10 |
2 files changed, 5 insertions, 8 deletions
diff --git a/src/string.cpp b/src/string.cpp index 8e770cd90..80a7180a2 100644 --- a/src/string.cpp +++ b/src/string.cpp @@ -462,9 +462,6 @@ bool unquote_char(String s, u8 quote, Rune *rune, bool *multiple_bytes, String * case '\'': case '"': - if (c != quote) { - return false; - } *rune = c; break; diff --git a/src/tokenizer.cpp b/src/tokenizer.cpp index 2ec02d9f0..2c233ee9b 100644 --- a/src/tokenizer.cpp +++ b/src/tokenizer.cpp @@ -667,8 +667,7 @@ end: return token; } -// Quote == " for string -bool scan_escape(Tokenizer *t, Rune quote) { +bool scan_escape(Tokenizer *t) { isize len = 0; u32 base = 0, max = 0, x = 0; @@ -681,7 +680,8 @@ bool scan_escape(Tokenizer *t, Rune quote) { r == 't' || r == 'v' || r == '\\' || - r == quote) { + r == '\'' || + r == '\"') { advance_to_next_rune(t); return true; } else if (gb_is_between(r, '0', '7')) { @@ -873,7 +873,7 @@ Token tokenizer_get_token(Tokenizer *t) { } n++; if (r == '\\') { - if (!scan_escape(t, quote)) { + if (!scan_escape(t)) { valid = false; } } @@ -913,7 +913,7 @@ Token tokenizer_get_token(Tokenizer *t) { break; } if (r == '\\') { - scan_escape(t, quote); + scan_escape(t); } } } else { |