Windows: open files for read+write sharing, to match Unix.
--- a/src/platform_pocketpc.c Wed Mar 17 15:35:29 2010 -0400
+++ b/src/platform_pocketpc.c Wed Mar 17 17:04:01 2010 -0400
@@ -331,8 +331,8 @@
wchar_t *w_fname = NULL;
UTF8_TO_UNICODE_STACK_MACRO(w_fname, fname);
- fileHandle = CreateFile(w_fname, mode, FILE_SHARE_READ, NULL,
- creation, FILE_ATTRIBUTE_NORMAL, NULL);
+ fileHandle = CreateFile(w_fname, mode, FILE_SHARE_READ | FILE_SHARE_WRITE,
+ NULL, creation, FILE_ATTRIBUTE_NORMAL, NULL);
__PHYSFS_smallFree(w_fname);
BAIL_IF_MACRO(fileHandle == INVALID_HANDLE_VALUE, win32strerror(), NULL);
--- a/src/platform_windows.c Wed Mar 17 15:35:29 2010 -0400
+++ b/src/platform_windows.c Wed Mar 17 17:04:01 2010 -0400
@@ -989,8 +989,8 @@
UTF8_TO_UNICODE_STACK_MACRO(wfname, fname);
BAIL_IF_MACRO(wfname == NULL, ERR_OUT_OF_MEMORY, NULL);
- fileHandle = pCreateFileW(wfname, mode, FILE_SHARE_READ, NULL,
- creation, FILE_ATTRIBUTE_NORMAL, NULL);
+ fileHandle = pCreateFileW(wfname, mode, FILE_SHARE_READ | FILE_SHARE_WRITE,
+ NULL, creation, FILE_ATTRIBUTE_NORMAL, NULL);
__PHYSFS_smallFree(wfname);
BAIL_IF_MACRO