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

boxbackup-dev@boxbackup.org boxbackup-dev@boxbackup.org
Sun, 30 Nov 2008 22:24:29 +0000 (GMT)


Author: chris
Date: 2008-11-30 22:24:28 +0000 (Sun, 30 Nov 2008)
New Revision: 2392

Modified:
   box/trunk/lib/win32/emu.cpp
Log:
Fix support for O_APPEND on files opened with openfile() on Windows.


Modified: box/trunk/lib/win32/emu.cpp
===================================================================
--- box/trunk/lib/win32/emu.cpp	2008-11-30 22:00:23 UTC (rev 2391)
+++ box/trunk/lib/win32/emu.cpp	2008-11-30 22:24:28 UTC (rev 2392)
@@ -693,6 +693,18 @@
 		return INVALID_HANDLE_VALUE;
 	}
 
+	if (flags & O_APPEND)
+	{
+		if (SetFilePointer(hdir, 0, NULL, FILE_END) ==
+			INVALID_SET_FILE_POINTER)
+		{
+			winerrno = GetLastError();
+			errno = EINVAL;
+			CloseHandle(hdir);
+			return INVALID_HANDLE_VALUE;
+		}
+	}
+
 	winerrno = NO_ERROR;
 	return hdir;
 }