diff --git a/PySide/QtCore/typesystem_core.xml b/PySide/QtCore/typesystem_core.xml
index e5217f9..60001e5 100644
--- a/PySide/QtCore/typesystem_core.xml
+++ b/PySide/QtCore/typesystem_core.xml
@@ -1854,11 +1854,15 @@
-
+
- const QByteArray ba(%CONVERTTOCPP[QByteArray](%PYARG_0));
- memcpy(%1, ba.data(), ba.size());
- long long %out = ba.size();
+ %RETURN_TYPE %out;
+ if (!PyString_Check(%PYARG_0)) {
+ %out = -1;
+ } else {
+ %out = PyString_GET_SIZE((PyObject*)%PYARG_0);
+ qstrncpy(%1, PyString_AS_STRING((PyObject*)%PYARG_0), %out + 1);
+ }
@@ -1873,11 +1877,15 @@
-
+
- const QByteArray ba(%CONVERTTOCPP[QByteArray](%PYARG_0));
- memcpy(data, ba.data(), ba.size());
- long long %out = ba.size();
+ %RETURN_TYPE %out;
+ if (!PyString_Check(%PYARG_0)) {
+ %out = -1;
+ } else {
+ %out = PyString_GET_SIZE((PyObject*)%PYARG_0);
+ qstrncpy(%1, PyString_AS_STRING((PyObject*)%PYARG_0), %out + 1);
+ }