allow shared file opening when using secure CRT functions #331
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.
https://discord.com/channels/310192285306454017/1230730290650026055/1230929459574607952
fopen_s
and_wfopen_s
cannot open files already opened by another piece of code.This switches them out for
_fsopen
and_wfsopen
, which also don't generate the secure CRT warning and support opening files already open by another piece of code. These are Windows only, sofopen_s
is still used ifWINVER
is not defined, but the likelihood of that happening and__STDC_WANT_SECURE_LIB__
being defined is minimal.The need for opening files in shared mode stems from the blueMSX core holding a write lock on a dsk file so it can potentially modify it. The core should not be modifying the original dsk file. Instead it should be creating a copy to modify (see libretro/blueMSX-libretro#134).