Use CreateFileA and add a FIXME to switch to the wide variant

No functional change. Required to build with -DUNICODE, as is done in
http://reviews.llvm.org/D21643

llvm-svn: 273571
This commit is contained in:
Reid Kleckner 2016-06-23 15:40:42 +00:00
parent c1bd489028
commit 02d5315237
2 changed files with 9 additions and 7 deletions

View File

@ -103,8 +103,9 @@ COMPILER_RT_VISIBILITY FILE *lprofOpenFileEx(const char *ProfileName) {
f = fdopen(fd, "r+b"); f = fdopen(fd, "r+b");
#elif defined(_WIN32) #elif defined(_WIN32)
HANDLE h = CreateFile(ProfileName, GENERIC_READ | GENERIC_WRITE, 0, 0, // FIXME: Use the wide variants to handle Unicode filenames.
OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0); HANDLE h = CreateFileA(ProfileName, GENERIC_READ | GENERIC_WRITE, 0, 0,
OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
if (h == INVALID_HANDLE_VALUE) if (h == INVALID_HANDLE_VALUE)
return NULL; return NULL;

View File

@ -533,14 +533,15 @@ __declspec(allocate(".CRT$XID")) int (*__run_atexit)() = RunAtexit;
// ------------------ sanitizer_libc.h // ------------------ sanitizer_libc.h
fd_t OpenFile(const char *filename, FileAccessMode mode, error_t *last_error) { fd_t OpenFile(const char *filename, FileAccessMode mode, error_t *last_error) {
// FIXME: Use the wide variants to handle Unicode filenames.
fd_t res; fd_t res;
if (mode == RdOnly) { if (mode == RdOnly) {
res = CreateFile(filename, GENERIC_READ, res = CreateFileA(filename, GENERIC_READ,
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
nullptr, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, nullptr); nullptr, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, nullptr);
} else if (mode == WrOnly) { } else if (mode == WrOnly) {
res = CreateFile(filename, GENERIC_WRITE, 0, nullptr, CREATE_ALWAYS, res = CreateFileA(filename, GENERIC_WRITE, 0, nullptr, CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL, nullptr); FILE_ATTRIBUTE_NORMAL, nullptr);
} else { } else {
UNIMPLEMENTED(); UNIMPLEMENTED();
} }