PIString::buildData for ICU fix according to official doc

This commit is contained in:
2026-02-08 17:01:52 +03:00
parent 8c15113cb0
commit f50a3abc8e

View File

@@ -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);