[Box Backup-commit] COMMIT r1009 - box/chris/general/lib/win32

boxbackup-dev at fluffy.co.uk boxbackup-dev at fluffy.co.uk
Fri Oct 13 23:36:02 BST 2006


Author: chris
Date: 2006-10-13 23:36:02 +0100 (Fri, 13 Oct 2006)
New Revision: 1009

Modified:
   box/chris/general/lib/win32/emu.cpp
Log:
 * Added support for Win32 temporary files


Modified: box/chris/general/lib/win32/emu.cpp
===================================================================
--- box/chris/general/lib/win32/emu.cpp	2006-10-13 22:34:43 UTC (rev 1008)
+++ box/chris/general/lib/win32/emu.cpp	2006-10-13 22:36:02 UTC (rev 1009)
@@ -519,7 +519,7 @@
 		accessRights = FILE_WRITE_DATA;
 		shareMode = FILE_SHARE_WRITE;
 	}
-	else if (flags & (O_RDWR | O_CREAT))
+	else if (flags & O_RDWR)
 	{
 		accessRights |= FILE_WRITE_ATTRIBUTES 
 			| FILE_WRITE_DATA | FILE_WRITE_EA;
@@ -539,12 +539,19 @@
 		shareMode = 0;
 	}
 
+	DWORD winFlags = FILE_FLAG_BACKUP_SEMANTICS;
+	if (flags & O_TEMPORARY)
+	{
+		winFlags  |= FILE_FLAG_DELETE_ON_CLOSE;
+		shareMode |= FILE_SHARE_DELETE;
+	}
+
 	HANDLE hdir = CreateFileW(pBuffer, 
 		accessRights, 
 		shareMode, 
 		NULL, 
 		createDisposition, 
-		FILE_FLAG_BACKUP_SEMANTICS,
+		winFlags,
 		NULL);
 	
 	delete [] pBuffer;




More information about the Boxbackup-commit mailing list