@@ -114,9 +114,18 @@ lexer_read_str_lit(struct lexer *l)
{
size_t pos = l->pos;
lexer_read_char(l);
- while ( l->c != '"' ) {
+loop:
+ switch ( l->c ) {
+ case '"':
+ case '\0':
+ break;
+
+ default:
+ goto loop;
}
return str_slice(l->in, pos+1, l->pos-1);