diff options
author | Max Kellermann <max@duempel.org> | 2015-06-25 22:43:55 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2015-06-25 23:44:16 +0200 |
commit | 8d11577ff2b7caf846a31cbb57b2cf9eb3515961 (patch) | |
tree | 8e1173e9bdb131ddba5e5166b96ee4681bc00d53 /src/fs | |
parent | 037d1d9ad14969947b1a9456dc716b6a22021d29 (diff) | |
download | mpd-8d11577ff2b7caf846a31cbb57b2cf9eb3515961.tar.gz mpd-8d11577ff2b7caf846a31cbb57b2cf9eb3515961.tar.xz mpd-8d11577ff2b7caf846a31cbb57b2cf9eb3515961.zip |
lib/icu/{Converter,Collate}: return AllocatedString
Diffstat (limited to 'src/fs')
-rw-r--r-- | src/fs/Charset.cxx | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/fs/Charset.cxx b/src/fs/Charset.cxx index b478959d0..f0fc1063c 100644 --- a/src/fs/Charset.cxx +++ b/src/fs/Charset.cxx @@ -116,7 +116,11 @@ PathToUTF8(PathTraitsFS::const_pointer path_fs) return FixSeparators(path_fs); #ifdef HAVE_FS_CHARSET - return FixSeparators(fs_converter->ToUTF8(path_fs)); + const auto buffer = fs_converter->ToUTF8(path_fs); + if (buffer.IsNull()) + return PathTraitsUTF8::string(); + + return FixSeparators(PathTraitsUTF8::string(buffer.c_str())); #endif #endif } @@ -141,7 +145,11 @@ PathFromUTF8(PathTraitsUTF8::const_pointer path_utf8) if (fs_converter == nullptr) return path_utf8; - return fs_converter->FromUTF8(path_utf8); + const auto buffer = fs_converter->FromUTF8(path_utf8); + if (buffer.IsNull()) + return PathTraitsFS::string(); + + return PathTraitsFS::string(buffer.c_str()); #endif } |