wchar filenames support - minor improvements

This commit is contained in:
gabime
2016-04-10 00:02:19 +03:00
parent 23200b08bb
commit 19dae96985
7 changed files with 62 additions and 62 deletions

View File

@@ -137,45 +137,45 @@ constexpr inline unsigned short eol_size()
#endif
//fopen_s on non windows for writing
inline int fopen_s(FILE** fp, const filename_str_t& filename, const filename_char_t* mode)
inline int fopen_s(FILE** fp, const filename_t& filename, const filename_t& mode)
{
#ifdef _WIN32
#ifdef SPDLOG_USE_WCHAR
*fp = _wfsopen((filename.c_str()), mode, _SH_DENYWR);
#ifdef SPDLOG_WCHAR_FILENAMES
*fp = _wfsopen((filename.c_str()), mode.c_str(), _SH_DENYWR);
#else
*fp = _fsopen((filename.c_str()), mode, _SH_DENYWR);
*fp = _fsopen((filename.c_str()), mode.c_str(), _SH_DENYWR);
#endif
return *fp == nullptr;
#else
*fp = fopen((filename.c_str()), mode);
*fp = fopen((filename.c_str()), mode.c_str());
return *fp == nullptr;
#endif
}
inline int remove(const filename_char_t* filename)
inline int remove(const filename_t &filename)
{
#if defined(_WIN32) && defined(SPDLOG_USE_WCHAR)
return _wremove(filename);
#if defined(_WIN32) && defined(SPDLOG_WCHAR_FILENAMES)
return _wremove(filename.c_str());
#else
return std::remove(filename);
return std::remove(filename.c_str());
#endif
}
inline int rename(const filename_char_t* filename1, const filename_char_t* filename2)
inline int rename(const filename_t& filename1, const filename_t& filename2)
{
#if defined(_WIN32) && defined(SPDLOG_USE_WCHAR)
return _wrename(filename1, filename2);
#if defined(_WIN32) && defined(SPDLOG_WCHAR_FILENAMES)
return _wrename(filename1.c_str(), filename2.c_str());
#else
return std::rename(filename1, filename2);
return std::rename(filename1.c_str(), filename2.c_str());
#endif
}
//Return if file exists
inline bool file_exists(const filename_str_t& filename)
inline bool file_exists(const filename_t& filename)
{
#ifdef _WIN32
#ifdef SPDLOG_USE_WCHAR
#ifdef SPDLOG_WCHAR_FILENAMES
auto attribs = GetFileAttributesW(filename.c_str());
#else
auto attribs = GetFileAttributesA(filename.c_str());