Просмотр исходного кода

[lexer.h] Making lexer_read_str_lit handle EOF

Vinicius Teshima 1 год назад
Родитель
Сommit
421cf95662
1 измененных файлов с 10 добавлено и 1 удалено
  1. 10 1
      src/lexer.h

+ 10 - 1
src/lexer.h

@@ -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:
 		lexer_read_char(l);
+		goto loop;
+		break;
 	}
+
 	lexer_read_char(l);
 	return str_slice(l->in, pos+1, l->pos-1);
 }