mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-05 15:18:49 +00:00
Allow for '\"'
This commit is contained in:
@@ -462,9 +462,6 @@ bool unquote_char(String s, u8 quote, Rune *rune, bool *multiple_bytes, String *
|
|||||||
|
|
||||||
case '\'':
|
case '\'':
|
||||||
case '"':
|
case '"':
|
||||||
if (c != quote) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
*rune = c;
|
*rune = c;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|||||||
+5
-5
@@ -667,8 +667,7 @@ end:
|
|||||||
return token;
|
return token;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Quote == " for string
|
bool scan_escape(Tokenizer *t) {
|
||||||
bool scan_escape(Tokenizer *t, Rune quote) {
|
|
||||||
isize len = 0;
|
isize len = 0;
|
||||||
u32 base = 0, max = 0, x = 0;
|
u32 base = 0, max = 0, x = 0;
|
||||||
|
|
||||||
@@ -681,7 +680,8 @@ bool scan_escape(Tokenizer *t, Rune quote) {
|
|||||||
r == 't' ||
|
r == 't' ||
|
||||||
r == 'v' ||
|
r == 'v' ||
|
||||||
r == '\\' ||
|
r == '\\' ||
|
||||||
r == quote) {
|
r == '\'' ||
|
||||||
|
r == '\"') {
|
||||||
advance_to_next_rune(t);
|
advance_to_next_rune(t);
|
||||||
return true;
|
return true;
|
||||||
} else if (gb_is_between(r, '0', '7')) {
|
} else if (gb_is_between(r, '0', '7')) {
|
||||||
@@ -873,7 +873,7 @@ Token tokenizer_get_token(Tokenizer *t) {
|
|||||||
}
|
}
|
||||||
n++;
|
n++;
|
||||||
if (r == '\\') {
|
if (r == '\\') {
|
||||||
if (!scan_escape(t, quote)) {
|
if (!scan_escape(t)) {
|
||||||
valid = false;
|
valid = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -913,7 +913,7 @@ Token tokenizer_get_token(Tokenizer *t) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (r == '\\') {
|
if (r == '\\') {
|
||||||
scan_escape(t, quote);
|
scan_escape(t);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user