On sábado, 11 de agosto de 2012 20.51.30, Konstantin Tokarev wrote: > Hi all, > > I'd like to use SCSU encoding from ICU library in my Qt application. Here is > a code of my decoding function: > > QString result; > result.resize(maxSize); // maxSize is guaranteed to be >= size > const int size = ucnv_toUChars(m_converter, const_cast<ushort > *>(result.utf16()), maxSize, a, inSize, &status);
utf16() is wrong. Instead, use: reinterpret_cast<ushort *>(result.data()) > result.resize(size); > return result; > > (ucnv_toUChars fills array in second argument with UTF16 string and returns > its size) > > Is it safe to use return value of QString::utf16() this way in this context > (QString is always created on stack locally)? No. -- Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org Software Architect - Intel Open Source Technology Center PGP/GPG: 0x6EF45358; fingerprint: E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest