//It's a python pickled object, unpickled it
PyObject* mod=PyImport_ImportModule("pickle");
GURU_YACSTRACE("convertFromYacsObjref : unpickling...");
- PyObject *ob=PyObject_CallMethod(mod,(char *)"loads",(char *)"y#",o.c_str(),o.length());
+ Py_ssize_t l = o.length();
+ PyObject *ob=PyObject_CallMethod(mod,(char *)"loads",(char *)"y#",o.c_str(),l);
GURU_YACSTRACE("convertFromYacsObjref : unpickling done...");
DEBTRACE(PyObject_Repr(ob));
Py_DECREF(mod);
PyErr_Print();
throw YACS::ENGINE::ConversionException("Problem in convertToYacsObjref<PYTHONImpl: no simplejson module");
}
- PyObject *ob=PyObject_CallMethod(mod,(char *)"loads",(char *)"y",o.c_str());
+ Py_ssize_t l = o.length();
+ PyObject *ob=PyObject_CallMethod(mod,(char *)"loads",(char *)"y",o.c_str(),l);
Py_DECREF(mod);
if(ob==NULL)
{
PyGILState_STATE gstate = PyGILState_Ensure();
PyObject* mod=PyImport_ImportModule("pickle");
- PyObject *ob=PyObject_CallMethod(mod,(char *)"loads",(char *)"y#",s,buffer->length());
+ Py_ssize_t l = buffer->length();
+ PyObject *ob=PyObject_CallMethod(mod,(char *)"loads",(char *)"y#",s,l);
PyObject *pickled=PyObject_CallMethod(mod,(char *)"dumps",(char *)"Oi",ob,protocol);
DEBTRACE(PyObject_Repr(pickled));
std::string mystr=PyBytes_AsString(pickled);
PyErr_Print();
else
{
- PyObject* result=PyObject_CallMethod( pluginsmanager, (char*)"initialize", (char*)"isss",1,"yacs","YACS",tr("YACS_PLUGINS").toStdString().c_str());
+ Py_ssize_t l = 12; // size of YACS_PLUGINS string
+ PyObject* result=PyObject_CallMethod( pluginsmanager, (char*)"initialize", (char*)"isss",1,"yacs","YACS",tr("YACS_PLUGINS").toStdString().c_str(),l);
if(result==NULL)
PyErr_Print();
Py_XDECREF(result);