[Box Backup-commit] COMMIT r1124 - box/trunk/lib/win32

boxbackup-dev@fluffy.co.uk boxbackup-dev@fluffy.co.uk
Fri, 27 Oct 2006 20:18:26 +0100


Author: chris
Date: 2006-10-27 20:18:25 +0100 (Fri, 27 Oct 2006)
New Revision: 1124

Modified:
   box/trunk/lib/win32/emu.cpp
Log:
Improved handling of UNIX flags to openfile(), allows multiple opens.


Modified: box/trunk/lib/win32/emu.cpp
===================================================================
--- box/trunk/lib/win32/emu.cpp	2006-10-27 19:17:54 UTC (rev 1123)
+++ box/trunk/lib/win32/emu.cpp	2006-10-27 19:18:25 UTC (rev 1124)
@@ -518,19 +518,19 @@
 
 	if (flags & O_WRONLY)
 	{
+		accessRights = FILE_WRITE_DATA;
 		shareMode = FILE_SHARE_WRITE;
 	}
-	if (flags & O_RDWR)
+	else if (flags & (O_RDWR | O_CREAT))
 	{
-		shareMode = FILE_SHARE_READ | FILE_SHARE_WRITE;
+		accessRights |= FILE_WRITE_ATTRIBUTES 
+			| FILE_WRITE_DATA | FILE_WRITE_EA;
+		shareMode |= FILE_SHARE_WRITE;
 	}
+
 	if (flags & O_CREAT)
 	{
 		createDisposition = OPEN_ALWAYS;
-		shareMode |= FILE_SHARE_WRITE;
-		accessRights |= FILE_WRITE_ATTRIBUTES 
-			| FILE_WRITE_DATA | FILE_WRITE_EA 
-			| FILE_ALL_ACCESS;
 	}
 	if (flags & O_TRUNC)
 	{