diff --git a/src/runtime/lexer.c b/src/runtime/lexer.c index 0ed80544..bff7f0ab 100644 --- a/src/runtime/lexer.c +++ b/src/runtime/lexer.c @@ -6,12 +6,12 @@ static int advance(TSLexer *lexer) { if (lexer->position_in_chunk + 1 < lexer->chunk_size) { lexer->position_in_chunk++; } else { + if (lexer->reached_end) + return 0; + lexer->chunk_start += lexer->chunk_size; lexer->chunk = lexer->input.read_fn(lexer->input.data, &lexer->chunk_size); lexer->position_in_chunk = 0; - if (lexer->reached_end) { - return 0; - } if (lexer->chunk_size == 0) { lexer->reached_end = 1; lexer->chunk = empty_chunk;