diff options
author | Haoyu Bai <divinekid@gmail.com> | 2009-01-24 16:21:55 +0000 |
---|---|---|
committer | Haoyu Bai <divinekid@gmail.com> | 2009-01-24 16:21:55 +0000 |
commit | 9cc214d4ff55328b521d906b7891190b2744fc12 (patch) | |
tree | 847b93ff996e26e816a13ae749cf5b40850bc5dc | |
parent | 83769e200ece6422d193f7b0da2ffa1a9d73e1c3 (diff) | |
download | swig-9cc214d4ff55328b521d906b7891190b2744fc12.tar.gz |
Fix const-correctness.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/swig-2.0@11085 626c5289-ae23-0410-ae9c-e8d60b6d4f22
-rw-r--r-- | Source/CParse/cscanner.c | 4 | ||||
-rw-r--r-- | Source/CParse/parser.y | 4 | ||||
-rw-r--r-- | Source/CParse/templ.c | 2 | ||||
-rw-r--r-- | Source/DOH/base.c | 4 | ||||
-rw-r--r-- | Source/DOH/doh.h | 4 | ||||
-rw-r--r-- | Source/Preprocessor/cpp.c | 13 | ||||
-rw-r--r-- | Source/Swig/cwrap.c | 4 | ||||
-rw-r--r-- | Source/Swig/misc.c | 12 | ||||
-rw-r--r-- | Source/Swig/naming.c | 2 | ||||
-rw-r--r-- | Source/Swig/swig.h | 12 | ||||
-rw-r--r-- | Source/Swig/swigscan.h | 2 | ||||
-rw-r--r-- | Source/Swig/symbol.c | 10 | ||||
-rw-r--r-- | Source/Swig/typemap.c | 2 | ||||
-rw-r--r-- | Source/Swig/typesys.c | 2 |
14 files changed, 40 insertions, 37 deletions
diff --git a/Source/CParse/cscanner.c b/Source/CParse/cscanner.c index 476a515e7..76ea73f57 100644 --- a/Source/CParse/cscanner.c +++ b/Source/CParse/cscanner.c @@ -442,7 +442,7 @@ int yylook(void) { static int check_typedef = 0; -void scanner_set_location(const_String_or_char_ptr file, int line) { +void scanner_set_location(String *file, int line) { Scanner_set_location(scan,file,line-1); } @@ -701,7 +701,7 @@ int yylex(void) { break; } else if (nexttok == SWIG_TOKEN_CODEBLOCK) { termtoken = SWIG_TOKEN_CODEBLOCK; - termvalue = Scanner_text(scan); + termvalue = Char(Scanner_text(scan)); break; } else if (nexttok == SWIG_TOKEN_LBRACE) { termtoken = SWIG_TOKEN_LBRACE; diff --git a/Source/CParse/parser.y b/Source/CParse/parser.y index 721eb173b..3f4256718 100644 --- a/Source/CParse/parser.y +++ b/Source/CParse/parser.y @@ -3334,7 +3334,7 @@ cpp_class_decl : } else { max_class_levels *= 2; } - class_decl = realloc(class_decl, sizeof(Node*) * max_class_levels); + class_decl = (Node**) realloc(class_decl, sizeof(Node*) * max_class_levels); if (!class_decl) { Swig_error(cparse_file, cparse_line, "realloc() failed\n"); } @@ -3483,7 +3483,7 @@ cpp_class_decl : } else { max_class_levels *= 2; } - class_decl = realloc(class_decl, sizeof(Node*) * max_class_levels); + class_decl = (Node**) realloc(class_decl, sizeof(Node*) * max_class_levels); if (!class_decl) { Swig_error(cparse_file, cparse_line, "realloc() failed\n"); } diff --git a/Source/CParse/templ.c b/Source/CParse/templ.c index a3e992f83..14886605f 100644 --- a/Source/CParse/templ.c +++ b/Source/CParse/templ.c @@ -15,7 +15,7 @@ char cvsroot_templ_c[] = "$Id$"; static int template_debug = 0; -String *baselists[3]; +const char *baselists[3]; void SwigType_template_init() { baselists[0] = "baselist"; diff --git a/Source/DOH/base.c b/Source/DOH/base.c index dcb0140e0..15827f328 100644 --- a/Source/DOH/base.c +++ b/Source/DOH/base.c @@ -827,7 +827,7 @@ void DohSetfile(DOH *ho, DOH *file) { /* ----------------------------------------------------------------------------- * DohGetFile() * ----------------------------------------------------------------------------- */ -DOH *DohGetfile(DOH *ho) { +DOH *DohGetfile(const DOH *ho) { DohBase *h = (DohBase *) ho; DohObjInfo *objinfo; if (!h) @@ -854,7 +854,7 @@ void DohSetline(DOH *ho, int l) { /* ----------------------------------------------------------------------------- * DohGetLine() * ----------------------------------------------------------------------------- */ -int DohGetline(DOH *ho) { +int DohGetline(const DOH *ho) { DohBase *h = (DohBase *) ho; DohObjInfo *objinfo; if (!h) diff --git a/Source/DOH/doh.h b/Source/DOH/doh.h index c4518a54d..766e12a34 100644 --- a/Source/DOH/doh.h +++ b/Source/DOH/doh.h @@ -237,9 +237,9 @@ extern DohIterator DohNext(DohIterator x); /* Positional */ -extern int DohGetline(DOH *obj); +extern int DohGetline(const DOH *obj); extern void DohSetline(DOH *obj, int line); -extern DOH *DohGetfile(DOH *obj); +extern DOH *DohGetfile(const DOH *obj); extern void DohSetfile(DOH *obj, DOH *file); /* String Methods */ diff --git a/Source/Preprocessor/cpp.c b/Source/Preprocessor/cpp.c index 635186bb5..c0b81a843 100644 --- a/Source/Preprocessor/cpp.c +++ b/Source/Preprocessor/cpp.c @@ -85,7 +85,8 @@ static String *cpp_include(const_String_or_char_ptr fn, int sysfile) { Setattr(included_files, file, file); } if (!s) { - Seek(fn, 0, SEEK_SET); + /* XXX(bhy) may not need the seek */ + // Seek(fn, 0, SEEK_SET); if (ignore_missing) { Swig_warning(WARN_PP_MISSING_FILE, Getfile(fn), Getline(fn), "Unable to find '%s'\n", fn); } else { @@ -261,7 +262,7 @@ void Preprocessor_error_as_warning(int a) { * ----------------------------------------------------------------------------- */ -const_String_or_char_ptr Macro_vararg_name(const_String_or_char_ptr str, const_String_or_char_ptr line) { +String *Macro_vararg_name(const_String_or_char_ptr str, const_String_or_char_ptr line) { String *argname; String *varargname; char *s, *dots; @@ -295,15 +296,15 @@ Hash *Preprocessor_define(const_String_or_char_ptr _str, int swigmacro) { List *arglist = 0; int c, line; int varargs = 0; - const_String_or_char_ptr str = (const_String_or_char_ptr ) _str; + String *str; assert(cpp); assert(str); /* First make sure that string is actually a string */ - if (DohCheck(str)) { - s = Copy(str); - copy_location(str, s); + if (DohCheck(_str)) { + s = Copy(_str); + copy_location(_str, s); str = s; } else { str = NewString((char *) str); diff --git a/Source/Swig/cwrap.c b/Source/Swig/cwrap.c index 3bdf2b13e..49d2c1e9b 100644 --- a/Source/Swig/cwrap.c +++ b/Source/Swig/cwrap.c @@ -683,7 +683,7 @@ String *Swig_cppdestructor_call(Node *n) { * * ----------------------------------------------------------------------------- */ -String *Swig_cmemberset_call(const_String_or_char_ptr name, SwigType *type, const_String_or_char_ptr self, int varcref) { +String *Swig_cmemberset_call(const_String_or_char_ptr name, SwigType *type, String *self, int varcref) { String *func; String *pname0 = Swig_cparm_name(0, 0); String *pname1 = Swig_cparm_name(0, 1); @@ -718,7 +718,7 @@ String *Swig_cmemberset_call(const_String_or_char_ptr name, SwigType *type, cons * * ----------------------------------------------------------------------------- */ -String *Swig_cmemberget_call(const_String_or_char_ptr name, SwigType *t, const_String_or_char_ptr self, int varcref) { +String *Swig_cmemberget_call(const_String_or_char_ptr name, SwigType *t, String *self, int varcref) { String *func; String *call; String *pname0 = Swig_cparm_name(0, 0); diff --git a/Source/Swig/misc.c b/Source/Swig/misc.c index 8c17d3ddb..e97e93abb 100644 --- a/Source/Swig/misc.c +++ b/Source/Swig/misc.c @@ -651,7 +651,7 @@ String *Swig_string_emangle(String *s) { * In this case, "A::B". Returns NULL if there is no base. * ----------------------------------------------------------------------------- */ -void Swig_scopename_split(String *s, String **rprefix, String **rlast) { +void Swig_scopename_split(const String *s, String **rprefix, String **rlast) { char *tmp = Char(s); char *c = tmp; char *cc = c; @@ -705,7 +705,7 @@ void Swig_scopename_split(String *s, String **rprefix, String **rlast) { } -String *Swig_scopename_prefix(String *s) { +String *Swig_scopename_prefix(const String *s) { char *tmp = Char(s); char *c = tmp; char *cc = c; @@ -757,7 +757,7 @@ String *Swig_scopename_prefix(String *s) { * case, "C". * ----------------------------------------------------------------------------- */ -String *Swig_scopename_last(String *s) { +String *Swig_scopename_last(const String *s) { char *tmp = Char(s); char *c = tmp; char *cc = c; @@ -801,7 +801,7 @@ String *Swig_scopename_last(String *s) { * In this case, "A". Returns NULL if there is no base. * ----------------------------------------------------------------------------- */ -String *Swig_scopename_first(String *s) { +String *Swig_scopename_first(const String *s) { char *tmp = Char(s); char *c = tmp; char *co = 0; @@ -851,7 +851,7 @@ String *Swig_scopename_first(String *s) { * In this case, "B::C". Returns NULL if there is no suffix. * ----------------------------------------------------------------------------- */ -String *Swig_scopename_suffix(String *s) { +String *Swig_scopename_suffix(const String *s) { char *tmp = Char(s); char *c = tmp; char *co = 0; @@ -895,7 +895,7 @@ String *Swig_scopename_suffix(String *s) { * Checks to see if a name is qualified with a scope name * ----------------------------------------------------------------------------- */ -int Swig_scopename_check(String *s) { +int Swig_scopename_check(const String *s) { char *c = Char(s); char *co = strstr(c, "operator "); diff --git a/Source/Swig/naming.c b/Source/Swig/naming.c index 30a8aef0e..3e1f46bb1 100644 --- a/Source/Swig/naming.c +++ b/Source/Swig/naming.c @@ -600,7 +600,7 @@ static void merge_features(Hash *features, Node *n) { * ----------------------------------------------------------------------------- */ static -void features_get(Hash *features, String *tname, SwigType *decl, SwigType *ncdecl, Node *node) { +void features_get(Hash *features, const String *tname, SwigType *decl, SwigType *ncdecl, Node *node) { Node *n = Getattr(features, tname); #ifdef SWIG_DEBUG Printf(stdout, " features_get: %s\n", tname); diff --git a/Source/Swig/swig.h b/Source/Swig/swig.h index c44d8f2b5..cd49fe485 100644 --- a/Source/Swig/swig.h +++ b/Source/Swig/swig.h @@ -291,12 +291,12 @@ extern int ParmList_is_compactdefargs(ParmList *p); extern void Swig_filename_correct(String *filename); extern String *Swig_string_escape(String *s); extern String *Swig_string_mangle(const String *s); - extern void Swig_scopename_split(String *s, String **prefix, String **last); - extern String *Swig_scopename_prefix(String *s); - extern String *Swig_scopename_last(String *s); - extern String *Swig_scopename_first(String *s); - extern String *Swig_scopename_suffix(String *s); - extern int Swig_scopename_check(String *s); + extern void Swig_scopename_split(const String *s, String **prefix, String **last); + extern String *Swig_scopename_prefix(const String *s); + extern String *Swig_scopename_last(const String *s); + extern String *Swig_scopename_first(const String *s); + extern String *Swig_scopename_suffix(const String *s); + extern int Swig_scopename_check(const String *s); extern String *Swig_string_lower(String *s); extern String *Swig_string_upper(String *s); extern String *Swig_string_title(String *s); diff --git a/Source/Swig/swigscan.h b/Source/Swig/swigscan.h index 3403098df..a07df31b8 100644 --- a/Source/Swig/swigscan.h +++ b/Source/Swig/swigscan.h @@ -20,7 +20,7 @@ extern int Scanner_token(Scanner *); extern String *Scanner_text(Scanner *); extern void Scanner_skip_line(Scanner *); extern int Scanner_skip_balanced(Scanner *, int startchar, int endchar); -extern void Scanner_set_location(Scanner *, String *file, int line); +extern void Scanner_set_location(Scanner *, const String *file, int line); extern String *Scanner_file(Scanner *); extern int Scanner_line(Scanner *); extern int Scanner_start_line(Scanner *); diff --git a/Source/Swig/symbol.c b/Source/Swig/symbol.c index d65ba6ad0..055af854f 100644 --- a/Source/Swig/symbol.c +++ b/Source/Swig/symbol.c @@ -827,7 +827,7 @@ Node *Swig_symbol_add(const_String_or_char_ptr symname, Node *n) { * verifying that a class hierarchy implements all pure virtual methods. * ----------------------------------------------------------------------------- */ -static Node *_symbol_lookup(String *name, Symtab *symtab, int (*check) (Node *n)) { +static Node *_symbol_lookup(const String *name, Symtab *symtab, int (*check) (Node *n)) { Node *n; List *inherit; Hash *sym = Getattr(symtab, "csymtab"); @@ -908,7 +908,7 @@ static Node *symbol_lookup(const_String_or_char_ptr name, Symtab *symtab, int (* * symbol_lookup_qualified() * ----------------------------------------------------------------------------- */ -static Node *symbol_lookup_qualified(const_String_or_char_ptr name, Symtab *symtab, String *prefix, int local, int (*checkfunc) (Node *n)) { +static Node *symbol_lookup_qualified(const_String_or_char_ptr name, Symtab *symtab, const String *prefix, int local, int (*checkfunc) (Node *n)) { /* This is a little funky, we search by fully qualified names */ if (!symtab) @@ -928,6 +928,7 @@ static Node *symbol_lookup_qualified(const_String_or_char_ptr name, Symtab *symt /* Make qualified name of current scope */ String *qalloc = 0; String *qname = Swig_symbol_qualifiedscopename(symtab); + const String *cqname; if (qname) { if (Len(qname)) { if (prefix && Len(prefix)) { @@ -937,10 +938,11 @@ static Node *symbol_lookup_qualified(const_String_or_char_ptr name, Symtab *symt Append(qname, prefix); } qalloc = qname; + cqname = qname; } else { - qname = prefix; + cqname = prefix; } - st = Getattr(symtabs, qname); + st = Getattr(symtabs, cqname); /* Found a scope match */ if (st) { if (!name) { diff --git a/Source/Swig/typemap.c b/Source/Swig/typemap.c index 775e459d2..401a99801 100644 --- a/Source/Swig/typemap.c +++ b/Source/Swig/typemap.c @@ -1467,7 +1467,7 @@ static void Swig_typemap_emit_code_fragments(const_String_or_char_ptr op, Parm * * given typemap type * ----------------------------------------------------------------------------- */ -String *Swig_typemap_get_option(Hash *tm, String *name) { +String *Swig_typemap_get_option(Hash *tm, const_String_or_char_ptr name) { Parm *kw = Getattr(tm, "kwargs"); while (kw) { String *kname = Getattr(kw, "name"); diff --git a/Source/Swig/typesys.c b/Source/Swig/typesys.c index 6d8f4112b..5c6d236d1 100644 --- a/Source/Swig/typesys.c +++ b/Source/Swig/typesys.c @@ -539,7 +539,7 @@ static SwigType *typedef_resolve(Typetab *s, String *base) { * ----------------------------------------------------------------------------- */ /* #define SWIG_DEBUG */ -SwigType *SwigType_typedef_resolve(SwigType *t) { +SwigType *SwigType_typedef_resolve(const SwigType *t) { String *base; String *type = 0; String *r = 0; |