aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/FileStream.cpp8
-rw-r--r--src/StormPort.h5
2 files changed, 9 insertions, 4 deletions
diff --git a/src/FileStream.cpp b/src/FileStream.cpp
index 4310924..90bd176 100644
--- a/src/FileStream.cpp
+++ b/src/FileStream.cpp
@@ -465,13 +465,13 @@ static bool BaseFile_Open(
#ifdef PLATFORM_WINDOWS
{
ULARGE_INTEGER FileSize;
- DWORD dwDesiredAccess = (dwStreamFlags & STREAM_FLAG_READ_ONLY) ? GENERIC_READ : GENERIC_ALL;
+ DWORD dwWriteAccess = (dwStreamFlags & STREAM_FLAG_READ_ONLY) ? 0 : GENERIC_ALL;
DWORD dwWriteShare = (dwStreamFlags & STREAM_FLAG_WRITE_SHARE) ? FILE_SHARE_WRITE : 0;
// Open the file
pStream->Base.File.hFile = CreateFile(szFileName,
- dwDesiredAccess,
- dwWriteShare | FILE_SHARE_READ,
+ FILE_READ_DATA | dwWriteAccess,
+ FILE_SHARE_READ | dwWriteShare,
NULL,
OPEN_EXISTING,
0,
@@ -610,7 +610,7 @@ static bool BaseMap_Open(
bool bResult = false;
// Open the file for read access
- hFile = CreateFile(szFileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
+ hFile = CreateFile(szFileName, FILE_READ_DATA, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
if(hFile != NULL)
{
// Retrieve file size. Don't allow mapping file of a zero size.
diff --git a/src/StormPort.h b/src/StormPort.h
index 069033a..3c7c121 100644
--- a/src/StormPort.h
+++ b/src/StormPort.h
@@ -72,6 +72,11 @@
#include <fcntl.h>
#include <stdlib.h>
#include <errno.h>
+
+ #if __ppc__ == 1 || __POWERPC__ == 1 || _ARCH_PPC == 1
+ #include <stdint.h>
+ #include <CoreFoundation/CFByteOrder.h>
+ #endif
#define PKEXPORT
#define __SYS_ZLIB