fix a wrong "0 character in a string literal" error

pull/3006/head
Alexander Medvednikov 2019-12-07 18:19:48 +03:00
parent 7b0e378947
commit 63ec3c0486
1 changed files with 6 additions and 2 deletions

View File

@ -697,8 +697,12 @@ fn (s mut Scanner) ident_string() string {
s.inc_line_number() s.inc_line_number()
} }
// Don't allow \0 // Don't allow \0
if c == `0` && s.pos > 2 && s.text[s.pos - 1] == slash { if c == `0` && s.pos > 2 && s.text[s.pos - 1] == slash {
s.error('0 character in a string literal') if s.pos < s.text.len - 1 && s.text[s.pos+1].is_digit() {
} else {
s.error('0 character in a string literal')
}
} }
// Don't allow \x00 // Don't allow \x00
if c == `0` && s.pos > 5 && s.expect('\\x0', s.pos - 3) { if c == `0` && s.pos > 5 && s.expect('\\x0', s.pos - 3) {