- static IconvProcessor processor(utf16_codeset, ucs4_codeset);
- return iconv_convert<unsigned short>(processor, s, ls);
+ static QThreadStorage<IconvProcessor *> processor;
+ if (!processor.hasLocalData())
+ processor.setLocalData(new IconvProcessor(utf16_codeset, ucs4_codeset));
+ return iconv_convert<unsigned short>(*processor.localData(), s, ls);
+}
+
+
+IconvProcessor & ucs4ToUtf8()
+{
+ static QThreadStorage<IconvProcessor *> processor;
+ if (!processor.hasLocalData())
+ processor.setLocalData(new IconvProcessor("UTF-8", ucs4_codeset));
+ return *processor.localData();