From a826f32054710f7dc602573f99c6c87a725adbba Mon Sep 17 00:00:00 2001 From: Brett Cannon Date: Thu, 2 Apr 2009 03:41:46 +0000 Subject: [PATCH] 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. ........ --- Doc/c-api/import.rst | 2 +- Include/import.h | 2 +- Python/import.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Doc/c-api/import.rst b/Doc/c-api/import.rst index fdbbb12d139..ac4cde56166 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 e950d4bdbd6..65657b4d2ad 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 3a3c9f24407..bccb9711fb0 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);