mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	Andrew Kuchling <akuchlin@mems-exchange.org>:
Add three new convenience functions to the PyModule_*() family: PyModule_AddObject(), PyModule_AddIntConstant(), PyModule_AddStringConstant(). This closes SourceForge patch #101233.
This commit is contained in:
		
							parent
							
								
									f84fb660cb
								
							
						
					
					
						commit
						9e2851566c
					
				
					 2 changed files with 31 additions and 0 deletions
				
			
		|  | @ -18,6 +18,10 @@ extern DL_IMPORT(PyObject *) Py_BuildValue(char *, ...); | ||||||
| extern DL_IMPORT(int) PyArg_VaParse(PyObject *, char *, va_list); | extern DL_IMPORT(int) PyArg_VaParse(PyObject *, char *, va_list); | ||||||
| extern DL_IMPORT(PyObject *) Py_VaBuildValue(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_VERSION 1009 | ||||||
| #define PYTHON_API_STRING "1009" | #define PYTHON_API_STRING "1009" | ||||||
| /* The API version is maintained (independently from the Python version)
 | /* The API version is maintained (independently from the Python version)
 | ||||||
|  |  | ||||||
|  | @ -459,3 +459,30 @@ PyEval_CallMethod(PyObject *obj, char *methodname, char *format, ...) | ||||||
| 
 | 
 | ||||||
| 	return res; | 	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)); | ||||||
|  | } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Fred Drake
						Fred Drake