This commit is contained in:
Benjamin Peterson 2011-05-31 19:07:45 -05:00
commit 9e3e1c6e4e
2 changed files with 7 additions and 21 deletions

View File

@ -780,6 +780,8 @@ Tools/Demos
Extension Modules Extension Modules
----------------- -----------------
- Issue #12221: Replace pyexpat.__version__ with the Python version.
- Issue #12051: Fix segfault in json.dumps() while encoding highly-nested - Issue #12051: Fix segfault in json.dumps() while encoding highly-nested
objects using the C accelerations. objects using the C accelerations.

View File

@ -1622,26 +1622,6 @@ static struct PyMethodDef pyexpat_methods[] = {
PyDoc_STRVAR(pyexpat_module_documentation, PyDoc_STRVAR(pyexpat_module_documentation,
"Python wrapper for Expat parser."); "Python wrapper for Expat parser.");
/* Return a Python string that represents the version number without the
* extra cruft added by revision control, even if the right options were
* given to the "cvs export" command to make it not include the extra
* cruft.
*/
static PyObject *
get_version_string(void)
{
static char *rcsid = "$Revision$";
char *rev = rcsid;
int i = 0;
while (!isdigit(Py_CHARMASK(*rev)))
++rev;
while (rev[i] != ' ' && rev[i] != '\0')
++i;
return PyUnicode_FromStringAndSize(rev, i);
}
/* Initialization function for the module */ /* Initialization function for the module */
#ifndef MODULE_NAME #ifndef MODULE_NAME
@ -1682,6 +1662,7 @@ MODULE_INITFUNC(void)
PyObject *errors_module; PyObject *errors_module;
PyObject *modelmod_name; PyObject *modelmod_name;
PyObject *model_module; PyObject *model_module;
PyObject *version;
PyObject *sys_modules; PyObject *sys_modules;
PyObject *tmpnum, *tmpstr; PyObject *tmpnum, *tmpstr;
PyObject *codes_dict; PyObject *codes_dict;
@ -1718,7 +1699,10 @@ MODULE_INITFUNC(void)
Py_INCREF(&Xmlparsetype); Py_INCREF(&Xmlparsetype);
PyModule_AddObject(m, "XMLParserType", (PyObject *) &Xmlparsetype); PyModule_AddObject(m, "XMLParserType", (PyObject *) &Xmlparsetype);
PyModule_AddObject(m, "__version__", get_version_string()); version = PyUnicode_FromString(PY_VERSION);
if (!version)
return;
PyModule_AddObject(m, "__version__", version);
PyModule_AddStringConstant(m, "EXPAT_VERSION", PyModule_AddStringConstant(m, "EXPAT_VERSION",
(char *) XML_ExpatVersion()); (char *) XML_ExpatVersion());
{ {