Browse Source

Fix text/scanner.scan_string

gingerBill 4 years ago
parent
commit
3b7fd4711f
1 changed files with 4 additions and 4 deletions
  1. 4 4
      core/text/scanner/scanner.odin

+ 4 - 4
core/text/scanner/scanner.odin

@@ -387,10 +387,10 @@ scan_string :: proc(s: ^Scanner, quote: rune) -> (n: int) {
 			switch ch {
 			switch ch {
 			case quote, 'a', 'b', 'e', 'f', 'n', 'r', 't', 'v', '\\':
 			case quote, 'a', 'b', 'e', 'f', 'n', 'r', 't', 'v', '\\':
 				ch = advance(s);
 				ch = advance(s);
-			case '0'..'7': ch = scan_digits(s, ch, 8, 3);
-			case 'x':      ch = scan_digits(s, ch, 16, 2);
-			case 'u':      ch = scan_digits(s, ch, 16, 4);
-			case 'U':      ch = scan_digits(s, ch, 16, 8);
+			case '0'..'7': ch = scan_digits(s, advance(s), 8, 3);
+			case 'x':      ch = scan_digits(s, advance(s), 16, 2);
+			case 'u':      ch = scan_digits(s, advance(s), 16, 4);
+			case 'U':      ch = scan_digits(s, advance(s), 16, 8);
 			case:
 			case:
 				error(s, "invalid char escape");
 				error(s, "invalid char escape");
 			}
 			}