Index: base/platform_file_win.cc |
diff --git a/base/platform_file_win.cc b/base/platform_file_win.cc |
index cdc06bd1ca2bd192f150d89316d24f5348c5eb05..977a819fcfa70eef7cde008a4909324071700a26 100644 |
--- a/base/platform_file_win.cc |
+++ b/base/platform_file_win.cc |
@@ -51,9 +51,15 @@ PlatformFile CreatePlatformFileUnsafe(const FilePath& name, |
return NULL; |
} |
- DWORD access = (flags & PLATFORM_FILE_READ) ? GENERIC_READ : 0; |
+ DWORD access = 0; |
if (flags & PLATFORM_FILE_WRITE) |
- access |= GENERIC_WRITE; |
+ access = GENERIC_WRITE; |
+ if (flags & PLATFORM_FILE_APPEND) { |
+ DCHECK(!access); |
+ access = FILE_APPEND_DATA; |
+ } |
+ if (flags & PLATFORM_FILE_READ) |
+ access |= GENERIC_READ; |
if (flags & PLATFORM_FILE_WRITE_ATTRIBUTES) |
access |= FILE_WRITE_ATTRIBUTES; |
if (flags & PLATFORM_FILE_EXECUTE) |