]> granicus.if.org Git - python/commitdiff
Constify filenames and scripts. Fixes #651362.
authorMartin v. Löwis <martin@v.loewis.de>
Wed, 11 Dec 2002 14:04:59 +0000 (14:04 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Wed, 11 Dec 2002 14:04:59 +0000 (14:04 +0000)
12 files changed:
Include/compile.h
Include/parsetok.h
Include/pyerrors.h
Include/pythonrun.h
Include/symtable.h
Parser/parsetok.c
Parser/tokenizer.c
Parser/tokenizer.h
Python/compile.c
Python/errors.c
Python/future.c
Python/pythonrun.c

index a4b2f55f80d9db9a84f86a792e0216f2bb96913e..a462d77f79e63900498ea749276d3bb798383278 100644 (file)
@@ -52,7 +52,7 @@ PyAPI_DATA(PyTypeObject) PyCode_Type;
 
 /* Public interface */
 struct _node; /* Declare the existence of this type */
-PyAPI_FUNC(PyCodeObject *) PyNode_Compile(struct _node *, char *);
+PyAPI_FUNC(PyCodeObject *) PyNode_Compile(struct _node *, const char *);
 PyAPI_FUNC(PyCodeObject *) PyCode_New(
        int, int, int, int, PyObject *, PyObject *, PyObject *, PyObject *,
        PyObject *, PyObject *, PyObject *, PyObject *, int, PyObject *); 
@@ -67,8 +67,8 @@ typedef struct {
     int ff_features;
 } PyFutureFeatures;
 
-PyAPI_FUNC(PyFutureFeatures *) PyNode_Future(struct _node *, char *);
-PyAPI_FUNC(PyCodeObject *) PyNode_CompileFlags(struct _node *, char *,
+PyAPI_FUNC(PyFutureFeatures *) PyNode_Future(struct _node *, const char *);
+PyAPI_FUNC(PyCodeObject *) PyNode_CompileFlags(struct _node *, const char *,
                                              PyCompilerFlags *);
 
 #define FUTURE_NESTED_SCOPES "nested_scopes"
index 9bcc1f75fa8226899054b1375d5f54a329309e29..58ef76ab69dcf2112d9fd7a9e8fb2ff9da38de1d 100644 (file)
@@ -9,7 +9,7 @@ extern "C" {
 
 typedef struct {
     int error;
-    char *filename;
+    const char *filename;
     int lineno;
     int offset;
     char *text;
@@ -21,19 +21,19 @@ typedef struct {
 #define PyPARSE_YIELD_IS_KEYWORD       0x0001
 #endif
 
-PyAPI_FUNC(node *) PyParser_ParseString(char *, grammar *, int,
+PyAPI_FUNC(node *) PyParser_ParseString(const char *, grammar *, int,
                                               perrdetail *);
-PyAPI_FUNC(node *) PyParser_ParseFile (FILE *, char *, grammar *, int,
+PyAPI_FUNC(node *) PyParser_ParseFile (FILE *, const char *, grammar *, int,
                                              char *, char *, perrdetail *);
 
-PyAPI_FUNC(node *) PyParser_ParseStringFlags(char *, grammar *, int,
+PyAPI_FUNC(node *) PyParser_ParseStringFlags(const char *, grammar *, int,
                                               perrdetail *, int);
-PyAPI_FUNC(node *) PyParser_ParseFileFlags(FILE *, char *, grammar *,
+PyAPI_FUNC(node *) PyParser_ParseFileFlags(FILE *, const char *, grammar *,
                                                 int, char *, char *,
                                                 perrdetail *, int);
 
-PyAPI_FUNC(node *) PyParser_ParseStringFlagsFilename(char *,
-                                             char *,
+PyAPI_FUNC(node *) PyParser_ParseStringFlagsFilename(const char *,
+                                             const char *,
                                              grammar *, int,
                                               perrdetail *, int);
 #ifdef __cplusplus
index 1adc6eca6c5b577a94c954f95852ecff7a0584ce..a4ab62ab7c7576a663327d8515a69246a1b32d65 100644 (file)
@@ -130,16 +130,17 @@ PyAPI_FUNC(void) PyErr_WriteUnraisable(PyObject *);
 
 /* Issue a warning or exception */
 PyAPI_FUNC(int) PyErr_Warn(PyObject *, char *);
-PyAPI_FUNC(int) PyErr_WarnExplicit(PyObject *, char *,
-                                        char *, int, char *, PyObject *);
+PyAPI_FUNC(int) PyErr_WarnExplicit(PyObject *, const char *,
+                                  const char *, int, 
+                                  const char *, PyObject *);
 
 /* In sigcheck.c or signalmodule.c */
 PyAPI_FUNC(int) PyErr_CheckSignals(void);
 PyAPI_FUNC(void) PyErr_SetInterrupt(void);
 
 /* Support for adding program text to SyntaxErrors */
-PyAPI_FUNC(void) PyErr_SyntaxLocation(char *, int);
-PyAPI_FUNC(PyObject *) PyErr_ProgramText(char *, int);
+PyAPI_FUNC(void) PyErr_SyntaxLocation(const char *, int);
+PyAPI_FUNC(PyObject *) PyErr_ProgramText(const char *, int);
 
 #ifdef Py_USING_UNICODE
 /* The following functions are used to create and modify unicode
index 7bc011b1d231b8475f763ddd1cead4428b1b8855..01e0e32e9e2f8e3ad12d765402b4a819b424f506 100644 (file)
@@ -26,47 +26,47 @@ PyAPI_FUNC(int) Py_IsInitialized(void);
 PyAPI_FUNC(PyThreadState *) Py_NewInterpreter(void);
 PyAPI_FUNC(void) Py_EndInterpreter(PyThreadState *);
 
-PyAPI_FUNC(int) PyRun_AnyFile(FILE *, char *);
-PyAPI_FUNC(int) PyRun_AnyFileEx(FILE *, char *, int);
-
-PyAPI_FUNC(int) PyRun_AnyFileFlags(FILE *, char *, PyCompilerFlags *);
-PyAPI_FUNC(int) PyRun_AnyFileExFlags(FILE *, char *, int, PyCompilerFlags *);
-
-PyAPI_FUNC(int) PyRun_SimpleString(char *);
-PyAPI_FUNC(int) PyRun_SimpleStringFlags(char *, PyCompilerFlags *);
-PyAPI_FUNC(int) PyRun_SimpleFile(FILE *, char *);
-PyAPI_FUNC(int) PyRun_SimpleFileEx(FILE *, char *, int);
-PyAPI_FUNC(int) PyRun_SimpleFileExFlags(FILE *, char *, int, PyCompilerFlags *);
-PyAPI_FUNC(int) PyRun_InteractiveOne(FILE *, char *);
-PyAPI_FUNC(int) PyRun_InteractiveOneFlags(FILE *, char *, PyCompilerFlags *);
-PyAPI_FUNC(int) PyRun_InteractiveLoop(FILE *, char *);
-PyAPI_FUNC(int) PyRun_InteractiveLoopFlags(FILE *, char *, PyCompilerFlags *);
-
-PyAPI_FUNC(struct _node *) PyParser_SimpleParseString(char *, int);
-PyAPI_FUNC(struct _node *) PyParser_SimpleParseFile(FILE *, char *, int);
-PyAPI_FUNC(struct _node *) PyParser_SimpleParseStringFlags(char *, int, int);
-PyAPI_FUNC(struct _node *) PyParser_SimpleParseStringFlagsFilename(char *,
-                                                                 char *,
+PyAPI_FUNC(int) PyRun_AnyFile(FILE *, const char *);
+PyAPI_FUNC(int) PyRun_AnyFileEx(FILE *, const char *, int);
+
+PyAPI_FUNC(int) PyRun_AnyFileFlags(FILE *, const char *, PyCompilerFlags *);
+PyAPI_FUNC(int) PyRun_AnyFileExFlags(FILE *, const char *, int, PyCompilerFlags *);
+
+PyAPI_FUNC(int) PyRun_SimpleString(const char *);
+PyAPI_FUNC(int) PyRun_SimpleStringFlags(const char *, PyCompilerFlags *);
+PyAPI_FUNC(int) PyRun_SimpleFile(FILE *, const char *);
+PyAPI_FUNC(int) PyRun_SimpleFileEx(FILE *, const char *, int);
+PyAPI_FUNC(int) PyRun_SimpleFileExFlags(FILE *, const char *, int, PyCompilerFlags *);
+PyAPI_FUNC(int) PyRun_InteractiveOne(FILE *, const char *);
+PyAPI_FUNC(int) PyRun_InteractiveOneFlags(FILE *, const char *, PyCompilerFlags *);
+PyAPI_FUNC(int) PyRun_InteractiveLoop(FILE *, const char *);
+PyAPI_FUNC(int) PyRun_InteractiveLoopFlags(FILE *, const char *, PyCompilerFlags *);
+
+PyAPI_FUNC(struct _node *) PyParser_SimpleParseString(const char *, int);
+PyAPI_FUNC(struct _node *) PyParser_SimpleParseFile(FILE *, const char *, int);
+PyAPI_FUNC(struct _node *) PyParser_SimpleParseStringFlags(const char *, int, int);
+PyAPI_FUNC(struct _node *) PyParser_SimpleParseStringFlagsFilename(const char *,
+                                                                 const char *,
                                                                  int,
                                                                  int);
-PyAPI_FUNC(struct _node *) PyParser_SimpleParseFileFlags(FILE *, char *,
+PyAPI_FUNC(struct _node *) PyParser_SimpleParseFileFlags(FILE *, const char *,
                                                        int, int);
 
-PyAPI_FUNC(PyObject *) PyRun_String(char *, int, PyObject *, PyObject *);
-PyAPI_FUNC(PyObject *) PyRun_File(FILE *, char *, int, PyObject *, PyObject *);
-PyAPI_FUNC(PyObject *) PyRun_FileEx(FILE *, char *, int,
+PyAPI_FUNC(PyObject *) PyRun_String(const char *, int, PyObject *, PyObject *);
+PyAPI_FUNC(PyObject *) PyRun_File(FILE *, const char *, int, PyObject *, PyObject *);
+PyAPI_FUNC(PyObject *) PyRun_FileEx(FILE *, const char *, int,
                                   PyObject *, PyObject *, int);
-PyAPI_FUNC(PyObject *) PyRun_StringFlags(char *, int, PyObject *, PyObject *,
+PyAPI_FUNC(PyObject *) PyRun_StringFlags(const char *, int, PyObject *, PyObject *,
                                        PyCompilerFlags *);
-PyAPI_FUNC(PyObject *) PyRun_FileFlags(FILE *, char *, int, PyObject *, 
+PyAPI_FUNC(PyObject *) PyRun_FileFlags(FILE *, const char *, int, PyObject *, 
                                      PyObject *, PyCompilerFlags *);
-PyAPI_FUNC(PyObject *) PyRun_FileExFlags(FILE *, char *, int, PyObject *, 
+PyAPI_FUNC(PyObject *) PyRun_FileExFlags(FILE *, const char *, int, PyObject *, 
                                        PyObject *, int, PyCompilerFlags *);
 
-PyAPI_FUNC(PyObject *) Py_CompileString(char *, char *, int);
-PyAPI_FUNC(PyObject *) Py_CompileStringFlags(char *, char *, int,
+PyAPI_FUNC(PyObject *) Py_CompileString(const char *, const char *, int);
+PyAPI_FUNC(PyObject *) Py_CompileStringFlags(const char *, const char *, int,
                                            PyCompilerFlags *);
-PyAPI_FUNC(struct symtable *) Py_SymtableString(char *, char *, int);
+PyAPI_FUNC(struct symtable *) Py_SymtableString(const char *, const char *, int);
 
 PyAPI_FUNC(void) PyErr_Print(void);
 PyAPI_FUNC(void) PyErr_PrintEx(int);
@@ -76,7 +76,7 @@ PyAPI_FUNC(int) Py_AtExit(void (*func)(void));
 
 PyAPI_FUNC(void) Py_Exit(int);
 
-PyAPI_FUNC(int) Py_FdIsInteractive(FILE *, char *);
+PyAPI_FUNC(int) Py_FdIsInteractive(FILE *, const char *);
 
 /* Bootstrap */
 PyAPI_FUNC(int) Py_Main(int argc, char **argv);
index 9bf2a2a3f11b39b5d39d85ca4fdf4edd174b8802..301bd3075fbc2eab9cdc9adf89a6b13fdbd34527 100644 (file)
@@ -20,7 +20,7 @@ struct _symtable_entry;
 
 struct symtable {
        int st_pass;             /* pass == 1 or 2 */
-       char *st_filename;       /* name of file being compiled */
+       const char *st_filename; /* name of file being compiled */
        struct _symtable_entry *st_cur; /* current symbol table entry */
        PyObject *st_symbols;    /* dictionary of symbol table entries */
         PyObject *st_stack;      /* stack of namespace info */
@@ -57,7 +57,7 @@ PyAPI_DATA(PyTypeObject) PySymtableEntry_Type;
 PyAPI_FUNC(PyObject *) PySymtableEntry_New(struct symtable *,
                                                 char *, int, int);
 
-PyAPI_FUNC(struct symtable *) PyNode_CompileSymtable(struct _node *, char *);
+PyAPI_FUNC(struct symtable *) PyNode_CompileSymtable(struct _node *, const char *);
 PyAPI_FUNC(void) PySymtable_Free(struct symtable *);
 
 
index d70e2d64f832659b007265b0af868689011bdac3..82a5450d8f71d3de2a970c454ff220209bacaf01 100644 (file)
@@ -15,17 +15,17 @@ int Py_TabcheckFlag;
 
 /* Forward */
 static node *parsetok(struct tok_state *, grammar *, int, perrdetail *, int);
-static void initerr(perrdetail *err_ret, char* filename);
+static void initerr(perrdetail *err_ret, const char* filename);
 
 /* Parse input coming from a string.  Return error code, print some errors. */
 node *
-PyParser_ParseString(char *s, grammar *g, int start, perrdetail *err_ret)
+PyParser_ParseString(const char *s, grammar *g, int start, perrdetail *err_ret)
 {
        return PyParser_ParseStringFlags(s, g, start, err_ret, 0);
 }
 
 node *
-PyParser_ParseStringFlags(char *s, grammar *g, int start,
+PyParser_ParseStringFlags(const char *s, grammar *g, int start,
                          perrdetail *err_ret, int flags)
 {
        return PyParser_ParseStringFlagsFilename(s, NULL,
@@ -33,7 +33,7 @@ PyParser_ParseStringFlags(char *s, grammar *g, int start,
 }
 
 node *
-PyParser_ParseStringFlagsFilename(char *s, char *filename,
+PyParser_ParseStringFlagsFilename(const char *s, const char *filename,
                          grammar *g, int start,
                          perrdetail *err_ret, int flags)
 {
@@ -60,7 +60,7 @@ PyParser_ParseStringFlagsFilename(char *s, char *filename,
 /* Parse input coming from a file.  Return error code, print some errors. */
 
 node *
-PyParser_ParseFile(FILE *fp, char *filename, grammar *g, int start,
+PyParser_ParseFile(FILE *fp, const char *filename, grammar *g, int start,
                   char *ps1, char *ps2, perrdetail *err_ret)
 {
        return PyParser_ParseFileFlags(fp, filename, g, start, ps1, ps2,
@@ -68,7 +68,7 @@ PyParser_ParseFile(FILE *fp, char *filename, grammar *g, int start,
 }
 
 node *
-PyParser_ParseFileFlags(FILE *fp, char *filename, grammar *g, int start,
+PyParser_ParseFileFlags(FILE *fp, const char *filename, grammar *g, int start,
                        char *ps1, char *ps2, perrdetail *err_ret, int flags)
 {
        struct tok_state *tok;
@@ -201,7 +201,7 @@ parsetok(struct tok_state *tok, grammar *g, int start, perrdetail *err_ret,
 }
 
 static void
-initerr(perrdetail *err_ret, char* filename)
+initerr(perrdetail *err_ret, const char* filename)
 {
        err_ret->error = E_OK;
        err_ret->filename = filename;
index 800a1666e7cf4729e10ccfe7510d0d0e2e242c52..d7a223ae0f8a6bb8219d93d258dd078536a7cbd5 100644 (file)
@@ -386,7 +386,8 @@ fp_setreadl(struct tok_state *tok, const char* enc)
 {
        PyObject *reader, *stream, *readline;
 
-       stream = PyFile_FromFile(tok->fp, tok->filename, "rb", NULL);
+       /* XXX: constify filename argument. */
+       stream = PyFile_FromFile(tok->fp, (char*)tok->filename, "rb", NULL);
        if (stream == NULL)
                return 0;
 
@@ -591,7 +592,7 @@ decode_str(const char *str, struct tok_state *tok)
 /* Set up tokenizer for string */
 
 struct tok_state *
-PyTokenizer_FromString(char *str)
+PyTokenizer_FromString(const char *str)
 {
        struct tok_state *tok = tok_new();
        if (tok == NULL)
@@ -599,7 +600,8 @@ PyTokenizer_FromString(char *str)
        str = (char *)decode_str(str, tok);
        if (str == NULL)
                return NULL;
-       tok->buf = tok->cur = tok->end = tok->inp = str;
+       /* XXX: constify members. */
+       tok->buf = tok->cur = tok->end = tok->inp = (char*)str;
        return tok;
 }
 
index b3d456a27d8c4c52c0ed83d699d271562bc497d1..e9423333e248bdd2d993932348d5bebb06476bf7 100644 (file)
@@ -34,7 +34,7 @@ struct tok_state {
        int level;      /* () [] {} Parentheses nesting level */
                        /* Used to allow free continuations inside them */
        /* Stuff for checking on different tab sizes */
-       char *filename; /* For error messages */
+       const char *filename;   /* For error messages */
        int altwarning; /* Issue warning if alternate tabs don't match */
        int alterror;   /* Issue error if alternate tabs don't match */
        int alttabsize; /* Alternate tab spacing */
@@ -54,7 +54,7 @@ struct tok_state {
        const char* str;
 };
 
-extern struct tok_state *PyTokenizer_FromString(char *);
+extern struct tok_state *PyTokenizer_FromString(const char *);
 extern struct tok_state *PyTokenizer_FromFile(FILE *, char *, char *);
 extern void PyTokenizer_Free(struct tok_state *);
 extern int PyTokenizer_Get(struct tok_state *, char **, char **);
index d612e5b4486d5b6d08184731ae4e40b68f00fb3b..b438ce44f989dbfa461143e3e8a15918565b5319 100644 (file)
@@ -472,7 +472,7 @@ struct compiling {
        int c_begin;            /* begin of current loop, for 'continue' */
        int c_block[CO_MAXBLOCKS]; /* stack of block types */
        int c_nblocks;          /* current block stack level */
-       char *c_filename;       /* filename of current node */
+       const char *c_filename; /* filename of current node */
        char *c_name;           /* name of object (e.g. function) */
        int c_lineno;           /* Current line number */
        int c_stacklevel;       /* Current stack level */
@@ -574,8 +574,8 @@ block_pop(struct compiling *c, int type)
 
 /* Prototype forward declarations */
 
-static int issue_warning(char *, char *, int);
-static int com_init(struct compiling *, char *);
+static int issue_warning(const char *, const char *, int);
+static int com_init(struct compiling *, const char *);
 static void com_free(struct compiling *);
 static void com_push(struct compiling *, int);
 static void com_pop(struct compiling *, int);
@@ -597,7 +597,7 @@ static int com_argdefs(struct compiling *, node *);
 static void com_assign(struct compiling *, node *, int, node *);
 static void com_assign_name(struct compiling *, node *, int);
 static PyCodeObject *icompile(node *, struct compiling *);
-static PyCodeObject *jcompile(node *, char *, struct compiling *,
+static PyCodeObject *jcompile(node *, const char *, struct compiling *,
                              PyCompilerFlags *);
 static PyObject *parsestrplus(struct compiling*, node *);
 static PyObject *parsestr(struct compiling *, char *);
@@ -654,7 +654,7 @@ dump(node *n, int pad, int depth)
 #define DUMP(N) dump(N, 0, -1)
 
 static int
-com_init(struct compiling *c, char *filename)
+com_init(struct compiling *c, const char *filename)
 {
        memset((void *)c, '\0', sizeof(struct compiling));
        if ((c->c_code = PyString_FromStringAndSize((char *)NULL,
@@ -1182,7 +1182,9 @@ parsenumber(struct compiling *c, char *s)
                                    "hex/oct constants > sys.maxint "
                                    "will return positive values "
                                    "in Python 2.4 and up",
-                                   c->c_filename,
+                                   /* XXX: Give WarnExplicit
+                                      a const char* argument. */
+                                   (char*)c->c_filename,
                                    c->c_lineno,
                                    NULL,
                                    NULL) < 0)
@@ -4142,19 +4144,19 @@ dict_keys_inorder(PyObject *dict, int offset)
 }
 
 PyCodeObject *
-PyNode_Compile(node *n, char *filename)
+PyNode_Compile(node *n, const char *filename)
 {
        return PyNode_CompileFlags(n, filename, NULL);
 }
 
 PyCodeObject *
-PyNode_CompileFlags(node *n, char *filename, PyCompilerFlags *flags)
+PyNode_CompileFlags(node *n, const char *filename, PyCompilerFlags *flags)
 {
        return jcompile(n, filename, NULL, flags);
 }
 
 struct symtable *
-PyNode_CompileSymtable(node *n, char *filename)
+PyNode_CompileSymtable(node *n, const char *filename)
 {
        struct symtable *st;
        PyFutureFeatures *ff;
@@ -4191,7 +4193,7 @@ icompile(node *n, struct compiling *base)
 }
 
 static PyCodeObject *
-jcompile(node *n, char *filename, struct compiling *base,
+jcompile(node *n, const char *filename, struct compiling *base,
         PyCompilerFlags *flags)
 {
        struct compiling sc;
@@ -4351,7 +4353,7 @@ get_ref_type(struct compiling *c, char *name)
 /* Helper functions to issue warnings */
 
 static int
-issue_warning(char *msg, char *filename, int lineno)
+issue_warning(const char *msg, const char *filename, int lineno)
 {
        if (PyErr_WarnExplicit(PyExc_SyntaxWarning, msg, filename,
                               lineno, NULL, NULL) < 0) {
index 95c24a685ea6a864c064b51ceb54052f465566a0..e50960661e73611aec8e59cad7526a8c439bda80 100644 (file)
@@ -637,9 +637,9 @@ PyErr_Warn(PyObject *category, char *message)
 
 /* Warning with explicit origin */
 int
-PyErr_WarnExplicit(PyObject *category, char *message,
-                  char *filename, int lineno,
-                  char *module, PyObject *registry)
+PyErr_WarnExplicit(PyObject *category, const char *message,
+                  const char *filename, int lineno,
+                  const char *module, PyObject *registry)
 {
        PyObject *mod, *dict, *func = NULL;
 
@@ -679,7 +679,7 @@ PyErr_WarnExplicit(PyObject *category, char *message,
    to make printing of exceptions believe it is a syntax error. */
 
 void
-PyErr_SyntaxLocation(char *filename, int lineno)
+PyErr_SyntaxLocation(const char *filename, int lineno)
 {
        PyObject *exc, *v, *tb, *tmp;
 
@@ -743,7 +743,7 @@ PyErr_SyntaxLocation(char *filename, int lineno)
 */
 
 PyObject *
-PyErr_ProgramText(char *filename, int lineno)
+PyErr_ProgramText(const char *filename, int lineno)
 {
        FILE *fp;
        int i;
index beec9fcd196d380e59d0ef997553d3845f855301..377ad9abde532a1b7457a567197562bca18a82eb 100644 (file)
@@ -14,7 +14,7 @@
 #define FUTURE_POSSIBLE(FF) ((FF)->ff_last_lineno == -1)
 
 static int
-future_check_features(PyFutureFeatures *ff, node *n, char *filename)
+future_check_features(PyFutureFeatures *ff, node *n, const char *filename)
 {
        int i;
        char *feature;
@@ -54,7 +54,7 @@ future_check_features(PyFutureFeatures *ff, node *n, char *filename)
 }
 
 static void
-future_error(node *n, char *filename)
+future_error(node *n, const char *filename)
 {
        PyErr_SetString(PyExc_SyntaxError,
                        "from __future__ imports must occur at the "
@@ -89,7 +89,7 @@ dotted_name: NAME ('.' NAME)*
 */
 
 static int
-future_parse(PyFutureFeatures *ff, node *n, char *filename)
+future_parse(PyFutureFeatures *ff, node *n, const char *filename)
 {
        int i, r;
  loop:
@@ -240,7 +240,7 @@ future_parse(PyFutureFeatures *ff, node *n, char *filename)
 }
 
 PyFutureFeatures *
-PyNode_Future(node *n, char *filename)
+PyNode_Future(node *n, const char *filename)
 {
        PyFutureFeatures *ff;
 
index c2508fa579da1a0e9a830a1141c0eef9bc36a70d..e41d618a32ebb3a7b2fcd66d041740e54390baba 100644 (file)
@@ -32,11 +32,11 @@ extern grammar _PyParser_Grammar; /* From graminit.c */
 /* Forward */
 static void initmain(void);
 static void initsite(void);
-static PyObject *run_err_node(node *, char *, PyObject *, PyObject *,
+static PyObject *run_err_node(node *, const char *, PyObject *, PyObject *,
                              PyCompilerFlags *);
-static PyObject *run_node(node *, char *, PyObject *, PyObject *,
+static PyObject *run_node(node *, const char *, PyObject *, PyObject *,
                          PyCompilerFlags *);
-static PyObject *run_pyc_file(FILE *, char *, PyObject *, PyObject *,
+static PyObject *run_pyc_file(FILE *, const char *, PyObject *, PyObject *,
                              PyCompilerFlags *);
 static void err_input(perrdetail *);
 static void initsigs(void);
@@ -458,25 +458,25 @@ initsite(void)
 /* Parse input from a file and execute it */
 
 int
-PyRun_AnyFile(FILE *fp, char *filename)
+PyRun_AnyFile(FILE *fp, const char *filename)
 {
        return PyRun_AnyFileExFlags(fp, filename, 0, NULL);
 }
 
 int
-PyRun_AnyFileFlags(FILE *fp, char *filename, PyCompilerFlags *flags)
+PyRun_AnyFileFlags(FILE *fp, const char *filename, PyCompilerFlags *flags)
 {
        return PyRun_AnyFileExFlags(fp, filename, 0, flags);
 }
 
 int
-PyRun_AnyFileEx(FILE *fp, char *filename, int closeit)
+PyRun_AnyFileEx(FILE *fp, const char *filename, int closeit)
 {
        return PyRun_AnyFileExFlags(fp, filename, closeit, NULL);
 }
 
 int
-PyRun_AnyFileExFlags(FILE *fp, char *filename, int closeit, 
+PyRun_AnyFileExFlags(FILE *fp, const char *filename, int closeit, 
                     PyCompilerFlags *flags)
 {
        if (filename == NULL)
@@ -492,13 +492,13 @@ PyRun_AnyFileExFlags(FILE *fp, char *filename, int closeit,
 }
 
 int
-PyRun_InteractiveLoop(FILE *fp, char *filename)
+PyRun_InteractiveLoop(FILE *fp, const char *filename)
 {
        return PyRun_InteractiveLoopFlags(fp, filename, NULL);
 }
 
 int
-PyRun_InteractiveLoopFlags(FILE *fp, char *filename, PyCompilerFlags *flags)
+PyRun_InteractiveLoopFlags(FILE *fp, const char *filename, PyCompilerFlags *flags)
 {
        PyObject *v;
        int ret;
@@ -533,7 +533,7 @@ PyRun_InteractiveLoopFlags(FILE *fp, char *filename, PyCompilerFlags *flags)
 }
 
 int
-PyRun_InteractiveOne(FILE *fp, char *filename)
+PyRun_InteractiveOne(FILE *fp, const char *filename)
 {
        return PyRun_InteractiveOneFlags(fp, filename, NULL);
 }
@@ -548,7 +548,7 @@ PyRun_InteractiveOne(FILE *fp, char *filename)
 #endif
 
 int
-PyRun_InteractiveOneFlags(FILE *fp, char *filename, PyCompilerFlags *flags)
+PyRun_InteractiveOneFlags(FILE *fp, const char *filename, PyCompilerFlags *flags)
 {
        PyObject *m, *d, *v, *w;
        node *n;
@@ -602,7 +602,7 @@ PyRun_InteractiveOneFlags(FILE *fp, char *filename, PyCompilerFlags *flags)
 }
 
 int
-PyRun_SimpleFile(FILE *fp, char *filename)
+PyRun_SimpleFile(FILE *fp, const char *filename)
 {
        return PyRun_SimpleFileEx(fp, filename, 0);
 }
@@ -611,7 +611,7 @@ PyRun_SimpleFile(FILE *fp, char *filename)
    the file type, and, if we may close it, at the first few bytes. */
 
 static int
-maybe_pyc_file(FILE *fp, char* filename, char* ext, int closeit)
+maybe_pyc_file(FILE *fp, const char* filename, const char* ext, int closeit)
 {
        if (strcmp(ext, ".pyc") == 0 || strcmp(ext, ".pyo") == 0)
                return 1;
@@ -655,17 +655,17 @@ maybe_pyc_file(FILE *fp, char* filename, char* ext, int closeit)
 } 
 
 int
-PyRun_SimpleFileEx(FILE *fp, char *filename, int closeit)
+PyRun_SimpleFileEx(FILE *fp, const char *filename, int closeit)
 {
        return PyRun_SimpleFileExFlags(fp, filename, closeit, NULL);
 }
 
 int
-PyRun_SimpleFileExFlags(FILE *fp, char *filename, int closeit,
+PyRun_SimpleFileExFlags(FILE *fp, const char *filename, int closeit,
                        PyCompilerFlags *flags)
 {
        PyObject *m, *d, *v;
-       char *ext;
+       const char *ext;
 
        m = PyImport_AddModule("__main__");
        if (m == NULL)
@@ -709,13 +709,13 @@ PyRun_SimpleFileExFlags(FILE *fp, char *filename, int closeit,
 }
 
 int
-PyRun_SimpleString(char *command)
+PyRun_SimpleString(const char *command)
 {
        return PyRun_SimpleStringFlags(command, NULL);
 }
 
 int
-PyRun_SimpleStringFlags(char *command, PyCompilerFlags *flags)
+PyRun_SimpleStringFlags(const char *command, PyCompilerFlags *flags)
 {
        PyObject *m, *d, *v;
        m = PyImport_AddModule("__main__");
@@ -734,8 +734,8 @@ PyRun_SimpleStringFlags(char *command, PyCompilerFlags *flags)
 }
 
 static int
-parse_syntax_error(PyObject *err, PyObject **message, char **filename,
-                  int *lineno, int *offset, char **text)
+parse_syntax_error(PyObject *err, PyObject **message, const char **filename,
+                  int *lineno, int *offset, const char **text)
 {
        long hold;
        PyObject *v;
@@ -804,7 +804,7 @@ PyErr_Print(void)
 }
 
 static void
-print_error_text(PyObject *f, int offset, char *text)
+print_error_text(PyObject *f, int offset, const char *text)
 {
        char *nl;
        if (offset >= 0) {
@@ -936,7 +936,7 @@ void PyErr_Display(PyObject *exception, PyObject *value, PyObject *tb)
                    PyObject_HasAttrString(v, "print_file_and_line"))
                {
                        PyObject *message;
-                       char *filename, *text;
+                       const char *filename, *text;
                        int lineno, offset;
                        if (!parse_syntax_error(v, &message, &filename,
                                                &lineno, &offset, &text))
@@ -1016,21 +1016,21 @@ void PyErr_Display(PyObject *exception, PyObject *value, PyObject *tb)
 }
 
 PyObject *
-PyRun_String(char *str, int start, PyObject *globals, PyObject *locals)
+PyRun_String(const char *str, int start, PyObject *globals, PyObject *locals)
 {
        return run_err_node(PyParser_SimpleParseString(str, start),
                            "<string>", globals, locals, NULL);
 }
 
 PyObject *
-PyRun_File(FILE *fp, char *filename, int start, PyObject *globals,
+PyRun_File(FILE *fp, const char *filename, int start, PyObject *globals,
           PyObject *locals)
 {
        return PyRun_FileEx(fp, filename, start, globals, locals, 0);
 }
 
 PyObject *
-PyRun_FileEx(FILE *fp, char *filename, int start, PyObject *globals,
+PyRun_FileEx(FILE *fp, const char *filename, int start, PyObject *globals,
             PyObject *locals, int closeit)
 {
        node *n = PyParser_SimpleParseFile(fp, filename, start);
@@ -1040,7 +1040,7 @@ PyRun_FileEx(FILE *fp, char *filename, int start, PyObject *globals,
 }
 
 PyObject *
-PyRun_StringFlags(char *str, int start, PyObject *globals, PyObject *locals,
+PyRun_StringFlags(const char *str, int start, PyObject *globals, PyObject *locals,
                  PyCompilerFlags *flags)
 {
        return run_err_node(PyParser_SimpleParseStringFlags(
@@ -1049,7 +1049,7 @@ PyRun_StringFlags(char *str, int start, PyObject *globals, PyObject *locals,
 }
 
 PyObject *
-PyRun_FileFlags(FILE *fp, char *filename, int start, PyObject *globals,
+PyRun_FileFlags(FILE *fp, const char *filename, int start, PyObject *globals,
                PyObject *locals, PyCompilerFlags *flags)
 {
        return PyRun_FileExFlags(fp, filename, start, globals, locals, 0,
@@ -1057,7 +1057,7 @@ PyRun_FileFlags(FILE *fp, char *filename, int start, PyObject *globals,
 }
 
 PyObject *
-PyRun_FileExFlags(FILE *fp, char *filename, int start, PyObject *globals,
+PyRun_FileExFlags(FILE *fp, const char *filename, int start, PyObject *globals,
                  PyObject *locals, int closeit, PyCompilerFlags *flags)
 {
        node *n = PyParser_SimpleParseFileFlags(fp, filename, start,
@@ -1068,7 +1068,7 @@ PyRun_FileExFlags(FILE *fp, char *filename, int start, PyObject *globals,
 }
 
 static PyObject *
-run_err_node(node *n, char *filename, PyObject *globals, PyObject *locals,
+run_err_node(node *n, const char *filename, PyObject *globals, PyObject *locals,
             PyCompilerFlags *flags)
 {
        if (n == NULL)
@@ -1077,7 +1077,7 @@ run_err_node(node *n, char *filename, PyObject *globals, PyObject *locals,
 }
 
 static PyObject *
-run_node(node *n, char *filename, PyObject *globals, PyObject *locals,
+run_node(node *n, const char *filename, PyObject *globals, PyObject *locals,
         PyCompilerFlags *flags)
 {
        PyCodeObject *co;
@@ -1092,7 +1092,7 @@ run_node(node *n, char *filename, PyObject *globals, PyObject *locals,
 }
 
 static PyObject *
-run_pyc_file(FILE *fp, char *filename, PyObject *globals, PyObject *locals,
+run_pyc_file(FILE *fp, const char *filename, PyObject *globals, PyObject *locals,
             PyCompilerFlags *flags)
 {
        PyCodeObject *co;
@@ -1124,13 +1124,13 @@ run_pyc_file(FILE *fp, char *filename, PyObject *globals, PyObject *locals,
 }
 
 PyObject *
-Py_CompileString(char *str, char *filename, int start)
+Py_CompileString(const char *str, const char *filename, int start)
 {
        return Py_CompileStringFlags(str, filename, start, NULL);
 }
 
 PyObject *
-Py_CompileStringFlags(char *str, char *filename, int start, 
+Py_CompileStringFlags(const char *str, const char *filename, int start, 
                      PyCompilerFlags *flags)
 {
        node *n;
@@ -1146,7 +1146,7 @@ Py_CompileStringFlags(char *str, char *filename, int start,
 }
 
 struct symtable *
-Py_SymtableString(char *str, char *filename, int start)
+Py_SymtableString(const char *str, const char *filename, int start)
 {
        node *n;
        struct symtable *st;
@@ -1162,7 +1162,7 @@ Py_SymtableString(char *str, char *filename, int start)
 /* Simplified interface to parsefile -- return node or set exception */
 
 node *
-PyParser_SimpleParseFileFlags(FILE *fp, char *filename, int start, int flags)
+PyParser_SimpleParseFileFlags(FILE *fp, const char *filename, int start, int flags)
 {
        node *n;
        perrdetail err;
@@ -1174,7 +1174,7 @@ PyParser_SimpleParseFileFlags(FILE *fp, char *filename, int start, int flags)
 }
 
 node *
-PyParser_SimpleParseFile(FILE *fp, char *filename, int start)
+PyParser_SimpleParseFile(FILE *fp, const char *filename, int start)
 {
        return PyParser_SimpleParseFileFlags(fp, filename, start, 0);
 }
@@ -1182,7 +1182,7 @@ PyParser_SimpleParseFile(FILE *fp, char *filename, int start)
 /* Simplified interface to parsestring -- return node or set exception */
 
 node *
-PyParser_SimpleParseStringFlags(char *str, int start, int flags)
+PyParser_SimpleParseStringFlags(const char *str, int start, int flags)
 {
        node *n;
        perrdetail err;
@@ -1194,13 +1194,13 @@ PyParser_SimpleParseStringFlags(char *str, int start, int flags)
 }
 
 node *
-PyParser_SimpleParseString(char *str, int start)
+PyParser_SimpleParseString(const char *str, int start)
 {
        return PyParser_SimpleParseStringFlags(str, start, 0);
 }
 
 node *
-PyParser_SimpleParseStringFlagsFilename(char *str, char *filename,
+PyParser_SimpleParseStringFlagsFilename(const char *str, const char *filename,
                                        int start, int flags)
 {
        node *n;
@@ -1215,7 +1215,7 @@ PyParser_SimpleParseStringFlagsFilename(char *str, char *filename,
 }
 
 node *
-PyParser_SimpleParseStringFilename(char *str, char *filename, int start)
+PyParser_SimpleParseStringFilename(const char *str, const char *filename, int start)
 {
        return PyParser_SimpleParseStringFlagsFilename(str, filename,
                                                       start, 0);
@@ -1429,7 +1429,7 @@ isatty(int fd)
  *      the descriptor is NULL or "<stdin>" or "???".
  */
 int
-Py_FdIsInteractive(FILE *fp, char *filename)
+Py_FdIsInteractive(FILE *fp, const char *filename)
 {
        if (isatty((int)fileno(fp)))
                return 1;