DOS_Int21_71a6(): Report correct file size on win32 when file is open. #4647
+13
−0
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.
When a file is being written to on win32, a
stat()
call to it will report its length as 0.This is different from Int 21/AX=71A6h, which should return the current file size.
So I wrote a quick workaround in DOS_Int21_71a6().
I tested this using djgpp, which uses Int 21/AX=71A6h, and a simple hello world C program. With dos version set to 7.10 before applying this patch, djgpp would not generate a usable executable. With this patch, it does.
I have no idea if the
stat()
problem is win32 specific or just mingw specific, so this PR could probably use a bit of testing.