summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaoyu Bai <divinekid@gmail.com>2009-01-24 16:21:55 +0000
committerHaoyu Bai <divinekid@gmail.com>2009-01-24 16:21:55 +0000
commit9cc214d4ff55328b521d906b7891190b2744fc12 (patch)
tree847b93ff996e26e816a13ae749cf5b40850bc5dc
parent83769e200ece6422d193f7b0da2ffa1a9d73e1c3 (diff)
downloadswig-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.c4
-rw-r--r--Source/CParse/parser.y4
-rw-r--r--Source/CParse/templ.c2
-rw-r--r--Source/DOH/base.c4
-rw-r--r--Source/DOH/doh.h4
-rw-r--r--Source/Preprocessor/cpp.c13
-rw-r--r--Source/Swig/cwrap.c4
-rw-r--r--Source/Swig/misc.c12
-rw-r--r--Source/Swig/naming.c2
-rw-r--r--Source/Swig/swig.h12
-rw-r--r--Source/Swig/swigscan.h2
-rw-r--r--Source/Swig/symbol.c10
-rw-r--r--Source/Swig/typemap.c2
-rw-r--r--Source/Swig/typesys.c2
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;