]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Andrew Kuchling <akuchlin@mems-exchange.org>:
authorFred Drake <fdrake@acm.org>
Sat, 23 Sep 2000 03:24:27 +0000 (03:24 +0000)
committerFred Drake <fdrake@acm.org>
Sat, 23 Sep 2000 03:24:27 +0000 (03:24 +0000)
Add three new convenience functions to the PyModule_*() family:
PyModule_AddObject(), PyModule_AddIntConstant(), PyModule_AddStringConstant().

This closes SourceForge patch #101233.

Include/modsupport.h
Python/modsupport.c

index a678257aac9dd8ad84932820889bef29f48808c7..54c7addf4142ee5fddf282c84654fafa89f6fc4b 100644 (file)
@@ -18,6 +18,10 @@ extern DL_IMPORT(PyObject *) Py_BuildValue(char *, ...);
 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)
index c87f994f20539a139c148f01dc1a6ed307417cda..9c2dc18a4516e029f7847a98393fc9d1dde5e3d3 100644 (file)
@@ -459,3 +459,30 @@ PyEval_CallMethod(PyObject *obj, char *methodname, char *format, ...)
 
        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));
+}