aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2018-08-10 17:48:29 +0100
committergingerBill <bill@gingerbill.org>2018-08-10 17:48:29 +0100
commitd0fc9aa06941f3fcd08d4c74c5c139c54be9bc81 (patch)
treebead39436d9aaec23562a982e29324ddf32b1482 /src
parent8be9b5082cb8270df6af1ef2369c5990a2478f42 (diff)
Allow for '\"'
Diffstat (limited to 'src')
-rw-r--r--src/string.cpp3
-rw-r--r--src/tokenizer.cpp10
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 {