diff --git a/libs/main/text/pistring.cpp b/libs/main/text/pistring.cpp index 534bc955..db3b9da8 100644 --- a/libs/main/text/pistring.cpp +++ b/libs/main/text/pistring.cpp @@ -469,7 +469,7 @@ void PIString::buildData(const char * cp) const { UErrorCode e((UErrorCode)0); UConverter * cc = ucnv_open(cp, &e); if (cc) { - const size_t len = MB_CUR_MAX * size() + 1; + const size_t len = UCNV_GET_MAX_BYTES_FOR_STRING(size(), ucnv_getMaxCharSize(cc)) + 1; // MB_CUR_MAX * size() + 1; data_ = (char *)malloc(len); int sz = ucnv_fromUChars(cc, data_, len, (const UChar *)(d.data()), d.size_s(), &e); ucnv_close(cc);