return 0;
}
-void ePython::call(PyObject *pFunc, PyObject *pArgs)
+int ePython::call(PyObject *pFunc, PyObject *pArgs)
{
+ int res = -1;
PyObject *pValue;
if (pFunc && PyCallable_Check(pFunc))
{
pValue = PyObject_CallObject(pFunc, pArgs);
if (pValue != NULL)
{
-// printf("Result of call: %ld\n", PyInt_AsLong(pValue));
+ if (PyInt_Check(pValue))
+ res = PyInt_AsLong(pValue);
+ else
+ res = 0;
Py_DECREF(pValue);
} else
{
PyErr_Print();
}
}
+ return res;
}
PyObject *ePython::resolve(const std::string &pythonfile, const std::string &funcname)
pFunc = PyDict_GetItemString(pDict, funcname.c_str());
Py_XINCREF(pFunc);
Py_DECREF(pModule);
- eDebug("resolved to %p", pFunc);
return pFunc;
} else
{