PIString::buildData for ICU fix according to official doc
This commit is contained in:
@@ -469,7 +469,7 @@ void PIString::buildData(const char * cp) const {
|
|||||||
UErrorCode e((UErrorCode)0);
|
UErrorCode e((UErrorCode)0);
|
||||||
UConverter * cc = ucnv_open(cp, &e);
|
UConverter * cc = ucnv_open(cp, &e);
|
||||||
if (cc) {
|
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);
|
data_ = (char *)malloc(len);
|
||||||
int sz = ucnv_fromUChars(cc, data_, len, (const UChar *)(d.data()), d.size_s(), &e);
|
int sz = ucnv_fromUChars(cc, data_, len, (const UChar *)(d.data()), d.size_s(), &e);
|
||||||
ucnv_close(cc);
|
ucnv_close(cc);
|
||||||
|
|||||||
Reference in New Issue
Block a user