fix: lex_string flush bug ignores characters at start of input #199
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Bug: lex_string flush ignores characters at start of input
Description
In
lex_string, theflushfunction was originally written as:When parsing a string literal that starts at the beginning of the input (
ctx.offset = 0), the first call toflushdoes not add any characters to the buffer, causing the returned string to be empty. This issue only occurs when the string starts at the beginning of the input or whenstart = 0during the first flush.Fix
Remove the
start > 0condition and use:This ensures that characters at the start of the string are correctly added to the buffer.