aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/icu/Util.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/lib/icu/Util.cxx
parent037d1d9ad14969947b1a9456dc716b6a22021d29 (diff)
downloadmpd-8d11577ff2b7caf846a31cbb57b2cf9eb3515961.tar.gz
mpd-8d11577ff2b7caf846a31cbb57b2cf9eb3515961.tar.xz
mpd-8d11577ff2b7caf846a31cbb57b2cf9eb3515961.zip
lib/icu/{Converter,Collate}: return AllocatedString
Diffstat (limited to 'src/lib/icu/Util.cxx')
-rw-r--r--src/lib/icu/Util.cxx8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/lib/icu/Util.cxx b/src/lib/icu/Util.cxx
index ae47423ad..92f1de5aa 100644
--- a/src/lib/icu/Util.cxx
+++ b/src/lib/icu/Util.cxx
@@ -19,6 +19,7 @@
#include "config.h"
#include "Util.hxx"
+#include "util/AllocatedString.hxx"
#include "util/WritableBuffer.hxx"
#include "util/ConstBuffer.hxx"
@@ -49,7 +50,7 @@ UCharFromUTF8(const char *src)
return { dest, size_t(dest_length) };
}
-WritableBuffer<char>
+AllocatedString<>
UCharToUTF8(ConstBuffer<UChar> src)
{
assert(!src.IsNull());
@@ -57,7 +58,7 @@ UCharToUTF8(ConstBuffer<UChar> src)
/* worst-case estimate */
size_t dest_capacity = 4 * src.size;
- char *dest = new char[dest_capacity];
+ char *dest = new char[dest_capacity + 1];
UErrorCode error_code = U_ZERO_ERROR;
int32_t dest_length;
@@ -68,5 +69,6 @@ UCharToUTF8(ConstBuffer<UChar> src)
return nullptr;
}
- return { dest, size_t(dest_length) };
+ dest[dest_length] = 0;
+ return AllocatedString<>::Donate(dest);
}