summaryrefslogtreecommitdiffstats
path: root/base/platform_file_win.cc
diff options
context:
space:
mode:
authordumi@chromium.org <dumi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-23 19:13:40 +0000
committerdumi@chromium.org <dumi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-23 19:13:40 +0000
commitb82ff7e8291ac0e4cb4235b2ca27c141549974f3 (patch)
tree998e8b7eaf336996b4ff1be50e5f9784bb283059 /base/platform_file_win.cc
parent64559868446e51a2c16819608f5923f609dc027c (diff)
downloadchromium_src-b82ff7e8291ac0e4cb4235b2ca27c141549974f3.zip
chromium_src-b82ff7e8291ac0e4cb4235b2ca27c141549974f3.tar.gz
chromium_src-b82ff7e8291ac0e4cb4235b2ca27c141549974f3.tar.bz2
Add a TouchFile function that operates on FilePaths + fixing a bug
related to FILE_WRITE_ATTRIBUTES on Windows. BUG=none TEST=FileUtilTest::TouchFile Review URL: http://codereview.chromium.org/3404018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60322 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/platform_file_win.cc')
-rw-r--r--base/platform_file_win.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/base/platform_file_win.cc b/base/platform_file_win.cc
index 5fd7892..63dfef9 100644
--- a/base/platform_file_win.cc
+++ b/base/platform_file_win.cc
@@ -47,6 +47,8 @@ PlatformFile CreatePlatformFile(const FilePath& name,
DWORD access = (flags & PLATFORM_FILE_READ) ? GENERIC_READ : 0;
if (flags & PLATFORM_FILE_WRITE)
access |= GENERIC_WRITE;
+ if (flags & PLATFORM_FILE_WRITE_ATTRIBUTES)
+ access |= FILE_WRITE_ATTRIBUTES;
DWORD sharing = (flags & PLATFORM_FILE_EXCLUSIVE_READ) ? 0 : FILE_SHARE_READ;
if (!(flags & PLATFORM_FILE_EXCLUSIVE_WRITE))
@@ -61,8 +63,6 @@ PlatformFile CreatePlatformFile(const FilePath& name,
create_flags |= FILE_ATTRIBUTE_HIDDEN;
if (flags & PLATFORM_FILE_DELETE_ON_CLOSE)
create_flags |= FILE_FLAG_DELETE_ON_CLOSE;
- if (flags & PLATFORM_FILE_WRITE_ATTRIBUTES)
- create_flags |= FILE_WRITE_ATTRIBUTES;
HANDLE file = CreateFile(name.value().c_str(), access, sharing, NULL,
disposition, create_flags, NULL);