From 305766a9fa079cbb96e8a80b3531b4c656a5e040 Mon Sep 17 00:00:00 2001 From: JamesP Date: Thu, 24 Sep 2015 09:04:55 +1000 Subject: [PATCH] Bug fix: change non-fmRead file mode to set GENERIC_READ or GENERIC_WRITE instead of GENERIC_ALL which on 64bit windows rasied an [OSError] exception --- lib/pure/memfiles.nim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/pure/memfiles.nim b/lib/pure/memfiles.nim index 633fd71eba..b9c574944c 100644 --- a/lib/pure/memfiles.nim +++ b/lib/pure/memfiles.nim @@ -116,7 +116,8 @@ proc open*(filename: string, mode: FileMode = fmRead, template callCreateFile(winApiProc, filename: expr): expr = winApiProc( filename, - if readonly: GENERIC_READ else: GENERIC_ALL, + # GENERIC_ALL != (GENERIC_READ or GENERIC_WRITE) + if readonly: GENERIC_READ else: GENERIC_READ or GENERIC_WRITE, FILE_SHARE_READ, nil, if newFileSize != -1: CREATE_ALWAYS else: OPEN_EXISTING,