summaryrefslogtreecommitdiffstats
path: root/src/script/api/qscriptengine_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/script/api/qscriptengine_p.h')
-rw-r--r--src/script/api/qscriptengine_p.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/script/api/qscriptengine_p.h b/src/script/api/qscriptengine_p.h
index a05e12c..5166d89 100644
--- a/src/script/api/qscriptengine_p.h
+++ b/src/script/api/qscriptengine_p.h
@@ -123,6 +123,9 @@ namespace QScript
inline QScriptEnginePrivate *scriptEngineFromExec(const JSC::ExecState *exec);
bool isFunction(JSC::JSValue value);
+ inline void convertToLatin1_helper(const UChar *i, int length, char *s);
+ inline QByteArray convertToLatin1(const JSC::UString &str);
+
class UStringSourceProviderWithFeedback;
struct GlobalClientData : public JSC::JSGlobalData::ClientData
@@ -516,6 +519,21 @@ inline bool ToBool(const QString &value)
return !value.isEmpty();
}
+inline void convertToLatin1_helper(const UChar *i, int length, char *s)
+{
+ const UChar *e = i + length;
+ while (i != e)
+ *(s++) = (uchar) *(i++);
+ *s = '\0';
+}
+
+inline QByteArray convertToLatin1(const JSC::UString &str)
+{
+ QByteArray ba(str.size(), Qt::Uninitialized);
+ convertToLatin1_helper(str.data(), str.size(), ba.data());
+ return ba;
+}
+
} // namespace QScript
inline QScriptValuePrivate *QScriptEnginePrivate::allocateScriptValuePrivate(size_t size)