From 6887d5d347ff6349ae117cb8f16ead97c27cc427 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Thu, 5 Mar 2015 08:03:38 +0100 Subject: fs/Traits: use TCHAR on Windows --- src/fs/FileSystem.hxx | 16 ++++++++++++++++ src/fs/Traits.hxx | 5 +++++ 2 files changed, 21 insertions(+) (limited to 'src/fs') diff --git a/src/fs/FileSystem.hxx b/src/fs/FileSystem.hxx index ac4e0998d..a6240bf0e 100644 --- a/src/fs/FileSystem.hxx +++ b/src/fs/FileSystem.hxx @@ -55,7 +55,11 @@ namespace FOpenMode { static inline FILE * FOpen(Path file, PathTraitsFS::const_pointer mode) { +#ifdef WIN32 + return _tfopen(file.c_str(), mode); +#else return fopen(file.c_str(), mode); +#endif } /** @@ -64,7 +68,11 @@ FOpen(Path file, PathTraitsFS::const_pointer mode) static inline int OpenFile(Path file, int flags, int mode) { +#ifdef WIN32 + return _topen(file.c_str(), flags, mode); +#else return open_cloexec(file.c_str(), flags, mode); +#endif } /** @@ -73,7 +81,11 @@ OpenFile(Path file, int flags, int mode) static inline bool RenameFile(Path oldpath, Path newpath) { +#ifdef WIN32 + return _trename(oldpath.c_str(), newpath.c_str()) == 0; +#else return rename(oldpath.c_str(), newpath.c_str()) == 0; +#endif } #ifndef WIN32 @@ -98,7 +110,11 @@ StatFile(Path file, struct stat &buf, bool follow_symlinks = true) static inline bool RemoveFile(Path file) { +#ifdef WIN32 + return _tunlink(file.c_str()) == 0; +#else return unlink(file.c_str()) == 0; +#endif } /** diff --git a/src/fs/Traits.hxx b/src/fs/Traits.hxx index b557dd752..cdd9b531d 100644 --- a/src/fs/Traits.hxx +++ b/src/fs/Traits.hxx @@ -26,13 +26,18 @@ #ifdef WIN32 #include "util/CharUtil.hxx" +#include #endif #include #include +#ifdef WIN32 +#define PATH_LITERAL(s) _T(s) +#else #define PATH_LITERAL(s) (s) +#endif /** * This class describes the nature of a native filesystem path. -- cgit v1.2.3