From: Brett Cannon Date: Thu, 2 Apr 2009 03:41:46 +0000 (+0000) Subject: Merged revisions 71031 via svnmerge from X-Git-Tag: v3.1a2~74 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a826f32054710f7dc602573f99c6c87a725adbba;p=python Merged revisions 71031 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r71031 | brett.cannon | 2009-04-01 20:17:39 -0700 (Wed, 01 Apr 2009) | 6 lines PyImport_AppendInittab() took a char * as a first argument even though that string was stored beyond the life of the call. Changed the signature to be const char * to help make this point. Closes issue #1419652. ........ --- diff --git a/Doc/c-api/import.rst b/Doc/c-api/import.rst index fdbbb12d13..ac4cde5616 100644 --- a/Doc/c-api/import.rst +++ b/Doc/c-api/import.rst @@ -200,7 +200,7 @@ Importing Modules tricks with this to provide a dynamically created collection of frozen modules. -.. cfunction:: int PyImport_AppendInittab(char *name, PyObject* (*initfunc)(void)) +.. cfunction:: int PyImport_AppendInittab(const char *name, PyObject* (*initfunc)(void)) Add a single module to the existing table of built-in modules. This is a convenience wrapper around :cfunc:`PyImport_ExtendInittab`, returning ``-1`` if diff --git a/Include/import.h b/Include/import.h index e950d4bdbd..65657b4d2a 100644 --- a/Include/import.h +++ b/Include/import.h @@ -43,7 +43,7 @@ struct _inittab { PyAPI_DATA(PyTypeObject) PyNullImporter_Type; PyAPI_DATA(struct _inittab *) PyImport_Inittab; -PyAPI_FUNC(int) PyImport_AppendInittab(char *name, PyObject* (*initfunc)(void)); +PyAPI_FUNC(int) PyImport_AppendInittab(const char *name, PyObject* (*initfunc)(void)); PyAPI_FUNC(int) PyImport_ExtendInittab(struct _inittab *newtab); struct _frozen { diff --git a/Python/import.c b/Python/import.c index 3a3c9f2440..bccb9711fb 100644 --- a/Python/import.c +++ b/Python/import.c @@ -3488,13 +3488,13 @@ PyImport_ExtendInittab(struct _inittab *newtab) /* Shorthand to add a single entry given a name and a function */ int -PyImport_AppendInittab(char *name, PyObject* (*initfunc)(void)) +PyImport_AppendInittab(const char *name, PyObject* (*initfunc)(void)) { struct _inittab newtab[2]; memset(newtab, '\0', sizeof newtab); - newtab[0].name = name; + newtab[0].name = (char *)name; newtab[0].initfunc = initfunc; return PyImport_ExtendInittab(newtab);