Googletest export

Addresses https://github.com/google/googletest/issues/2848 by using `_wfopen(...)` on Windows

PiperOrigin-RevId: 312198825
This commit is contained in:
Abseil Team 2020-05-18 22:04:38 -04:00 committed by Derek Mauro
parent a0669e070a
commit f3a59610fd

View File

@ -269,6 +269,7 @@
#endif #endif
#include <iostream> // NOLINT #include <iostream> // NOLINT
#include <locale>
#include <memory> #include <memory>
#include <string> // NOLINT #include <string> // NOLINT
#include <tuple> #include <tuple>
@ -2045,7 +2046,14 @@ GTEST_DISABLE_MSC_DEPRECATED_PUSH_()
inline int ChDir(const char* dir) { return chdir(dir); } inline int ChDir(const char* dir) { return chdir(dir); }
#endif #endif
inline FILE* FOpen(const char* path, const char* mode) { inline FILE* FOpen(const char* path, const char* mode) {
#if GTEST_OS_WINDOWS
std::wstring_convert<std::codecvt<wchar_t, char, std::mbstate_t>> converter;
std::wstring wide_path = converter.from_bytes(path);
std::wstring wide_mode = converter.from_bytes(mode);
return _wfopen(wide_path.c_str(), wide_mode.c_str());
#else
return fopen(path, mode); return fopen(path, mode);
#endif // GTEST_OS_WINDOWS
} }
#if !GTEST_OS_WINDOWS_MOBILE #if !GTEST_OS_WINDOWS_MOBILE
inline FILE *FReopen(const char* path, const char* mode, FILE* stream) { inline FILE *FReopen(const char* path, const char* mode, FILE* stream) {