diff options
Diffstat (limited to 'Swiften/Base/Paths.cpp')
-rw-r--r-- | Swiften/Base/Paths.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/Swiften/Base/Paths.cpp b/Swiften/Base/Paths.cpp index edebc30..8ad1159 100644 --- a/Swiften/Base/Paths.cpp +++ b/Swiften/Base/Paths.cpp @@ -30,16 +30,17 @@ boost::filesystem::path Paths::getExecutablePath() { #elif defined(SWIFTEN_PLATFORM_LINUX) ByteArray path; path.resize(4096); - ssize_t size = readlink("/proc/self/exe", reinterpret_cast<char*>(vecptr(path)), path.size()); + size_t size = static_cast<size_t>(readlink("/proc/self/exe", reinterpret_cast<char*>(vecptr(path)), path.size())); if (size > 0) { path.resize(size); return boost::filesystem::path(std::string(reinterpret_cast<const char*>(vecptr(path)), path.size()).c_str()).parent_path(); } #elif defined(SWIFTEN_PLATFORM_WINDOWS) - ByteArray data; + std::vector<wchar_t> data; data.resize(2048); - GetModuleFileName(NULL, reinterpret_cast<char*>(vecptr(data)), data.size()); - return boost::filesystem::path(std::string(reinterpret_cast<const char*>(vecptr(data)), data.size()).c_str()).parent_path(); + GetModuleFileNameW(NULL, vecptr(data), data.size()); + return boost::filesystem::path( + std::wstring(vecptr(data), data.size())).parent_path(); #endif return boost::filesystem::path(); } |