Browse Source

Allow for '\"'

gingerBill 7 years ago
parent
commit
d0fc9aa069
2 changed files with 5 additions and 8 deletions
  1. 0 3
      src/string.cpp
  2. 5 5
      src/tokenizer.cpp

+ 0 - 3
src/string.cpp

@@ -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
src/tokenizer.cpp

@@ -667,8 +667,7 @@ end:
 	return token;
 	return token;
 }
 }
 
 
-// Quote == " for string
-bool scan_escape(Tokenizer *t, Rune quote) {
+bool scan_escape(Tokenizer *t) {
 	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 {