aboutsummaryrefslogtreecommitdiffstats
path: root/src/fs/Charset.cxx
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2015-06-25 22:43:55 +0200
committerMax Kellermann <max@duempel.org>2015-06-25 23:44:16 +0200
commit8d11577ff2b7caf846a31cbb57b2cf9eb3515961 (patch)
tree8e1173e9bdb131ddba5e5166b96ee4681bc00d53 /src/fs/Charset.cxx
parent037d1d9ad14969947b1a9456dc716b6a22021d29 (diff)
downloadmpd-8d11577ff2b7caf846a31cbb57b2cf9eb3515961.tar.gz
mpd-8d11577ff2b7caf846a31cbb57b2cf9eb3515961.tar.xz
mpd-8d11577ff2b7caf846a31cbb57b2cf9eb3515961.zip
lib/icu/{Converter,Collate}: return AllocatedString
Diffstat (limited to 'src/fs/Charset.cxx')
-rw-r--r--src/fs/Charset.cxx12
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
}