diff --git a/Source/DOH/string.c b/Source/DOH/string.c index 2823d6679..a2d65665c 100644 --- a/Source/DOH/string.c +++ b/Source/DOH/string.c @@ -212,7 +212,7 @@ DohString_append(DOH *so, DOH *str) { if (DohCheck(str)) { String *ss = (String *) ObjData(str); - newstr = String_data((DOH*)str); + newstr = (char*) String_data((DOH*)str); l = ss->len; } else { newstr = (char *) (str); @@ -282,7 +282,7 @@ String_insert(DOH *so, int pos, DOH *str) s->hashkey = -1; if (DohCheck(str)) { String *ss = (String *) ObjData(str); - data = String_data(str); + data = (char *)String_data(str); len = ss->len; } else { data = (char *) (str); @@ -1015,7 +1015,7 @@ DohNewString(const DOH *so) int hashkey = -1; if (DohCheck(so)) { str = (String *) ObjData(so); - s = String_data((String *)so); + s = (char *)String_data((String *)so); l = s ? str->len : 0; hashkey = str->hashkey; } else { @@ -1077,7 +1077,7 @@ DohNewStringWithSize(const DOH *so, int len) String *str; char *s; if (DohCheck(so)) { - s = String_data((String *)so); + s = (char *)String_data((String *)so); } else { s = (char *) so; diff --git a/Source/Swig/cwrap.c b/Source/Swig/cwrap.c index 523623e60..1fd5778c2 100644 --- a/Source/Swig/cwrap.c +++ b/Source/Swig/cwrap.c @@ -38,7 +38,7 @@ String * Swig_cparm_name(Parm *p, int i) { String *name = NewStringf("arg%d",i+1); if (p) { - Setattr(p,"lname",name); + Setattr(p,k_lname,name); } return name; @@ -770,7 +770,7 @@ int Swig_add_extension_code(Node *n, const String *function_name, ParmList *parms, SwigType *return_type, const String *code, int cplusplus) { String *body = Swig_extension_code(function_name, parms, return_type, code, cplusplus); - Setattr(n,"wrap:code",body); + Setattr(n,k_wrapcode,body); Delete(body); return SWIG_OK; } diff --git a/Source/Swig/misc.c b/Source/Swig/misc.c index 380a6b229..57354a4e4 100644 --- a/Source/Swig/misc.c +++ b/Source/Swig/misc.c @@ -807,9 +807,9 @@ const char *skip_delim(char pb, char pe, const char *ce) } +#if defined(USE_RXSPENCER) String *Swig_string_rxspencer(String *s) { String *res = 0; -#if defined(USE_RXSPENCER) if (Len(s)) { const char *cs = Char(s); const char *cb; @@ -868,10 +868,15 @@ String *Swig_string_rxspencer(String *s) { } } } -#endif if (!res) res = NewStringEmpty(); return res; } +#else +String *Swig_string_rxspencer(String *s) { + (void)s; + return NewStringEmpty(); +} +#endif /* ----------------------------------------------------------------------------- diff --git a/Source/Swig/naming.c b/Source/Swig/naming.c index 20bff19ef..2953e5b53 100644 --- a/Source/Swig/naming.c +++ b/Source/Swig/naming.c @@ -655,7 +655,7 @@ Swig_features_get(Hash *features, String *prefix, String *name, SwigType *decl, #endif /* Global features */ - features_get(features, "", 0, 0, node); + features_get(features, empty_string, 0, 0, node); if (name) { String *tname = NewStringEmpty(); /* Catch-all */ @@ -1092,9 +1092,9 @@ static DOH *Swig_get_lattr(Node *n, List *lattr) res = Getattr(n,nattr); #ifdef SWIG_DEBUG if (!res) { - Printf(stderr,"missing %s %s %s\n",nattr, Getattr(n,"name"), Getattr(n,"member")); + Printf(stderr,"missing %s %s %s\n",nattr, Getattr(n,k_name), Getattr(n,"member")); } else { - Printf(stderr,"lattr %d %s %s\n",i, nattr, DohIsString(res) ? res : Getattr(res,"name")); + Printf(stderr,"lattr %d %s %s\n",i, nattr, DohIsString(res) ? res : Getattr(res,k_name)); } #endif n = res; @@ -1108,10 +1108,10 @@ static DOH *Swig_get_lattr(Node *n, List *lattr) #define USE_RXSPENCER #endif +#if defined(USE_RXSPENCER) int Swig_name_rxsmatch_value(String *mvalue, String *value) { int match = 0; -#if defined(USE_RXSPENCER) char *cvalue = Char(value); char *cmvalue = Char(mvalue); regex_t compiled; @@ -1123,9 +1123,16 @@ int Swig_name_rxsmatch_value(String *mvalue, String *value) Printf(stderr,"rxsmatch_value: %s %s %d\n",cvalue,cmvalue, match); #endif regfree(&compiled); -#endif return match; } +#else +int Swig_name_rxsmatch_value(String *mvalue, String *value) +{ + (void)mvalue; + (void)value; + return 0; +} +#endif int Swig_name_match_value(String *mvalue, String *value) { diff --git a/Source/Swig/swigkeys.c b/Source/Swig/swigkeys.c index 650c70bc7..1a4642c3f 100644 --- a/Source/Swig/swigkeys.c +++ b/Source/Swig/swigkeys.c @@ -51,6 +51,7 @@ String *k_kwargs = 0; String *k_lname = 0; String *k_locals = 0; String *k_kind = 0; +String *k_match = 0; String *k_matchlist = 0; String *k_member = 0; String *k_name = 0; @@ -65,6 +66,7 @@ String *k_partialarg = 0; String *k_partialargs = 0; String *k_partials = 0; String *k_pattern = 0; +String *k_pname = 0; String *k_privatebaselist = 0; String *k_protectedbaselist = 0; String *k_public = 0; @@ -103,6 +105,7 @@ String *k_throw = 0; String *k_throws = 0; String *k_tmapmatch = 0; String *k_type = 0; +String *k_typemap = 0; String *k_typedef = 0; String *k_typetab = 0; String *k_uname = 0; @@ -113,6 +116,7 @@ String *k_view = 0; String *k_virtual = 0; String *k_vtable = 0; String *k_wrapaction = 0; +String *k_wrapcode = 0; String *k_wrapdirectormap = 0; String *k_wrapdisown = 0; String *k_wrapper = 0; @@ -173,6 +177,7 @@ void Swig_keys_init() { k_lname = NewString("lname"); k_locals = NewString("locals"); k_kind = NewString("kind"); + k_match = NewString("match"); k_matchlist = NewString("matchlist"); k_member = NewString("member"); k_name = NewString("name"); @@ -187,6 +192,7 @@ void Swig_keys_init() { k_partialargs = NewString("partialargs"); k_partials = NewString("partials"); k_pattern = NewString("pattern"); + k_pname = NewString("pname"); k_privatebaselist = NewString("privatebaselist"); k_protectedbaselist = NewString("protectedbaselist"); k_public = NewString("public"); @@ -225,6 +231,7 @@ void Swig_keys_init() { k_throws = NewString("throws"); k_tmapmatch = NewString("tmap:match"); k_type = NewString("type"); + k_typemap = NewString("typemap"); k_typedef = NewString("typedef"); k_typetab = NewString("typetab"); k_uname = NewString("uname"); @@ -235,6 +242,7 @@ void Swig_keys_init() { k_virtual = NewString("virtual"); k_vtable = NewString("vtable"); k_wrapaction = NewString("wrap:action"); + k_wrapcode = NewString("wrap:code"); k_wrapdirectormap = NewString("wrap:directormap"); k_wrapdisown = NewString("wrap:disown"); k_wrapper = NewString("wrapper"); diff --git a/Source/Swig/swigkeys.h b/Source/Swig/swigkeys.h index fdd0e46d3..b268bad1a 100644 --- a/Source/Swig/swigkeys.h +++ b/Source/Swig/swigkeys.h @@ -56,6 +56,7 @@ extern String *k_kwargs; extern String *k_lname; extern String *k_locals; extern String *k_kind; +extern String *k_match; extern String *k_matchlist; extern String *k_member; extern String *k_name; @@ -70,6 +71,7 @@ extern String *k_partialarg; extern String *k_partialargs; extern String *k_partials; extern String *k_pattern; +extern String *k_pname; extern String *k_privatebaselist; extern String *k_protectedbaselist; extern String *k_public; @@ -108,6 +110,7 @@ extern String *k_throw; extern String *k_throws; extern String *k_tmapmatch; extern String *k_type; +extern String *k_typemap; extern String *k_typedef; extern String *k_typetab; extern String *k_uname; @@ -118,6 +121,7 @@ extern String *k_virtual; extern String *k_view; extern String *k_vtable; extern String *k_wrapaction; +extern String *k_wrapcode; extern String *k_wrapdirectormap; extern String *k_wrapdisown; extern String *k_wrapper; diff --git a/Source/Swig/typemap.c b/Source/Swig/typemap.c index d7b5d6b8d..23b14298d 100644 --- a/Source/Swig/typemap.c +++ b/Source/Swig/typemap.c @@ -241,9 +241,9 @@ Swig_typemap_register(const String_or_char *op, ParmList *parms, String_or_char Setattr(tm2,k_code, code); Setattr(tm2,k_type, type); - Setattr(tm2,"typemap", typemap); + Setattr(tm2,k_typemap, typemap); if (pname) { - Setattr(tm2,"pname", pname); + Setattr(tm2,k_pname, pname); } Setattr(tm2,k_locals, clocals); Setattr(tm2,k_kwargs, ckwargs); @@ -1248,7 +1248,7 @@ Printf(stdout, "Swig_typemap_lookup %s [%s %s]\n", op, type, pname ? pname : "NO unqualified name. Need to check non-simple return types, eg pointers/references. */ - st = Getattr(node,"sym:symtab"); + st = Getattr(node,k_symsymtab); qsn = st ? Swig_symbol_qualifiedscopename(st) : 0; if (qsn && StringLen(qsn)) { /* look qualified names first, such as @@ -1308,7 +1308,7 @@ Printf(stdout, "Swig_typemap_lookup %s [%s %s]\n", op, type, pname ? pname : "NO Replace(s,"$name",pname,DOH_REPLACE_ANY); - symname = Getattr(node,"sym:name"); + symname = Getattr(node,k_symname); if (symname) { Replace(s,"$symname",symname, DOH_REPLACE_ANY); } @@ -1501,7 +1501,7 @@ Swig_typemap_attach_parms(const String_or_char *op, ParmList *parms, Wrapper *f) here, the freearg typemap requires the "in" typemap to match, or the 'var$argnum' variable will not exist. */ - kwmatch = Swig_typemap_get_option(tm,"match"); + kwmatch = Swig_typemap_get_option(tm,k_match); if (kwmatch) { String *tmname = NewStringf("tmap:%s",kwmatch); String *tmin = Getattr(p,tmname); @@ -1527,8 +1527,8 @@ Swig_typemap_attach_parms(const String_or_char *op, ParmList *parms, Wrapper *f) } else { int nnmatch; Hash *tmapin = Swig_typemap_search_multi(kwmatch,p,&nnmatch); - String *tmname = Getattr(tm,"pname"); - String *tnname = Getattr(tmapin,"pname"); + String *tmname = Getattr(tm,k_pname); + String *tnname = Getattr(tmapin,k_pname); if (!(tmname && tnname && Equal(tmname, tnname)) && !(!tmname && !tnname)) { p = nextSibling(p); continue; diff --git a/Source/Swig/typesys.c b/Source/Swig/typesys.c index 865a1cde8..9f097b859 100644 --- a/Source/Swig/typesys.c +++ b/Source/Swig/typesys.c @@ -1778,7 +1778,7 @@ void SwigType_inherit_equiv(File *out) { /* Helper function to sort the mangled list */ static int SwigType_compare_mangled(const DOH *a, const DOH *b) { - return strcmp(Data(a), Data(b)); + return strcmp((char *)Data(a), (char *)Data(b)); } /* ----------------------------------------------------------------------------- @@ -1843,7 +1843,7 @@ SwigType_emit_type_table(File *f_forward, File *f_table) { types = NewStringEmpty(); cast = NewStringEmpty(); cast_init = NewStringEmpty(); - imported_types = NewHash(""); + imported_types = NewHash(); Printf(table,"static swig_type_info *swig_type_initial[] = {\n"); Printf(cast_init, "static swig_cast_info *swig_cast_initial[] = {\n");