Fix temporary file creation on Windows. #2683
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.
Suggestion cannot be applied right now. Please check back later.
Sigh... there is no mkstemp on Windows. The one that exists
in GLib can't be used because the file handle it returns
belongs to a different CRT instance, for some reason or
another.
Plus, you cannot unlink a file that is in use on Windows.
So roll our own by calling CreateFile directly. The flags
passed to it will ensure that the file created is only
readable by FontForge and that it will be deleted when
the file handle is closed.
This should give the intended behaviour for this function
on Windows.
Fixes #2681. cc @frank-trampe