extern DL_IMPORT(int) PyArg_VaParse(PyObject *, char *, va_list);
extern DL_IMPORT(PyObject *) Py_VaBuildValue(char *, va_list);
+extern DL_IMPORT(int) PyModule_AddObject(PyObject *, char *, PyObject *);
+extern DL_IMPORT(int) PyModule_AddIntConstant(PyObject *, char *, long);
+extern DL_IMPORT(int) PyModule_AddStringConstant(PyObject *, char *, char *);
+
#define PYTHON_API_VERSION 1009
#define PYTHON_API_STRING "1009"
/* The API version is maintained (independently from the Python version)
return res;
}
+
+int
+PyModule_AddObject(PyObject *m, char *name, PyObject *o)
+{
+ PyObject *dict;
+ if (!PyModule_Check(m) || o == NULL)
+ return -1;
+ dict = PyModule_GetDict(m);
+ if (dict == NULL)
+ return -1;
+ if (PyDict_SetItemString(dict, name, o))
+ return -1;
+ Py_DECREF(o);
+ return 0;
+}
+
+int
+PyModule_AddIntConstant(PyObject *m, char *name, long value)
+{
+ return PyModule_AddObject(m, name, PyInt_FromLong(value));
+}
+
+int
+PyModule_AddStringConstant(PyObject *m, char *name, char *value)
+{
+ return PyModule_AddObject(m, name, PyString_FromString(value));
+}