Fix code injection of QIODevice to support returning an error.

This commit is contained in:
Hugo Parente Lima 2011-04-12 15:54:33 -03:00
commit 958394f5ec

View file

@ -1846,11 +1846,15 @@
<remove-argument /> <remove-argument />
</modify-argument> </modify-argument>
<modify-argument index="return"> <modify-argument index="return">
<replace-type modified-type="QByteArray"/> <replace-type modified-type="PyObject"/>
<conversion-rule class="native"> <conversion-rule class="native">
const QByteArray ba(%CONVERTTOCPP[QByteArray](%PYARG_0)); %RETURN_TYPE %out;
memcpy(%1, ba.data(), ba.size()); if (!PyString_Check(%PYARG_0)) {
long long %out = ba.size(); %out = -1;
} else {
%out = PyString_GET_SIZE((PyObject*)%PYARG_0);
qstrncpy(%1, PyString_AS_STRING((PyObject*)%PYARG_0), %out + 1);
}
</conversion-rule> </conversion-rule>
</modify-argument> </modify-argument>
</modify-function> </modify-function>
@ -1865,11 +1869,15 @@
<remove-argument /> <remove-argument />
</modify-argument> </modify-argument>
<modify-argument index="return"> <modify-argument index="return">
<replace-type modified-type="QByteArray"/> <replace-type modified-type="PyObject"/>
<conversion-rule class="native"> <conversion-rule class="native">
const QByteArray ba(%CONVERTTOCPP[QByteArray](%PYARG_0)); %RETURN_TYPE %out;
memcpy(data, ba.data(), ba.size()); if (!PyString_Check(%PYARG_0)) {
long long %out = ba.size(); %out = -1;
} else {
%out = PyString_GET_SIZE((PyObject*)%PYARG_0);
qstrncpy(%1, PyString_AS_STRING((PyObject*)%PYARG_0), %out + 1);
}
</conversion-rule> </conversion-rule>
</modify-argument> </modify-argument>
</modify-function> </modify-function>