Fix: IO::FileDescriptor#seek from current position #4558
Merged
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.
Trying to seek from the current position failed because the system position of a buffered IO is different from the actual position in Crystal land. For example reading 4 bytes from a File actually reads up to BUFFER_SIZE bytes. Seeking back 4 bytes should return to position
0
, but since the system read more bytes, it ended up at an unexpected place.