From: <wsf...@us...> - 2009-11-11 00:22:48
|
Revision: 11733 http://swig.svn.sourceforge.net/swig/?rev=11733&view=rev Author: wsfulton Date: 2009-11-11 00:22:38 +0000 (Wed, 11 Nov 2009) Log Message: ----------- Obscure seg fault bug fix Modified Paths: -------------- trunk/Source/Swig/typesys.c Modified: trunk/Source/Swig/typesys.c =================================================================== --- trunk/Source/Swig/typesys.c 2009-11-10 02:38:11 UTC (rev 11732) +++ trunk/Source/Swig/typesys.c 2009-11-11 00:22:38 UTC (rev 11733) @@ -1120,11 +1120,13 @@ /* Figure out the scope the using directive refers to */ { prefix = Swig_scopename_prefix(name); - s = SwigType_find_scope(current_scope, prefix); - if (s) { - Hash *ttab = Getattr(s, "typetab"); - if (!Getattr(ttab, base) && defined_name) { - Setattr(ttab, base, defined_name); + if (prefix) { + s = SwigType_find_scope(current_scope, prefix); + if (s) { + Hash *ttab = Getattr(s, "typetab"); + if (!Getattr(ttab, base) && defined_name) { + Setattr(ttab, base, defined_name); + } } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ol...@us...> - 2010-05-12 23:56:44
|
Revision: 12024 http://swig.svn.sourceforge.net/swig/?rev=12024&view=rev Author: olly Date: 2010-05-12 23:56:38 +0000 (Wed, 12 May 2010) Log Message: ----------- Fix typo in example in comment. Modified Paths: -------------- trunk/Source/Swig/typesys.c Modified: trunk/Source/Swig/typesys.c =================================================================== --- trunk/Source/Swig/typesys.c 2010-05-12 04:12:42 UTC (rev 12023) +++ trunk/Source/Swig/typesys.c 2010-05-12 23:56:38 UTC (rev 12024) @@ -79,7 +79,7 @@ * * class Bar : public Foo { * void blah(Integer x); - * } + * }; * * The argument type of Bar::blah will be set to Foo::Integer. * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ol...@us...> - 2010-05-14 04:10:25
|
Revision: 12025 http://swig.svn.sourceforge.net/swig/?rev=12025&view=rev Author: olly Date: 2010-05-14 04:10:19 +0000 (Fri, 14 May 2010) Log Message: ----------- Fix typo in comment. Modified Paths: -------------- trunk/Source/Swig/typesys.c Modified: trunk/Source/Swig/typesys.c =================================================================== --- trunk/Source/Swig/typesys.c 2010-05-12 23:56:38 UTC (rev 12024) +++ trunk/Source/Swig/typesys.c 2010-05-14 04:10:19 UTC (rev 12025) @@ -1773,7 +1773,7 @@ continue; } - /* This type has subclasses. We now need to walk through these subtypes and generate pointer converion functions */ + /* This type has subclasses. We now need to walk through these subtypes and generate pointer conversion functions */ rh = Getattr(r_resolved, rk.key); rlist = NewList(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wsf...@us...> - 2011-07-01 23:08:53
|
Revision: 12755 http://swig.svn.sourceforge.net/swig/?rev=12755&view=rev Author: wsfulton Date: 2011-07-01 23:08:47 +0000 (Fri, 01 Jul 2011) Log Message: ----------- Format changes for -debug-typedef Modified Paths: -------------- trunk/Source/Swig/typesys.c Modified: trunk/Source/Swig/typesys.c =================================================================== --- trunk/Source/Swig/typesys.c 2011-07-01 22:59:55 UTC (rev 12754) +++ trunk/Source/Swig/typesys.c 2011-07-01 23:08:47 UTC (rev 12755) @@ -393,7 +393,9 @@ Hash *ttab; Iterator i, j; + Printf(stdout, "SCOPES start =======================================\n"); for (i = First(scopes); i.key; i = Next(i)) { + Printf(stdout, "-------------------------------------------------------------\n"); ttab = Getattr(i.item, "typetab"); Printf(stdout, "Type scope '%s' (%x)\n", i.key, i.item); @@ -406,11 +408,11 @@ } } } - Printf(stdout, "-------------------------------------------------------------\n"); for (j = First(ttab); j.key; j = Next(j)) { Printf(stdout, "%40s -> %s\n", j.key, j.item); } } + Printf(stdout, "SCOPES finish =======================================\n"); } static Typetab *SwigType_find_scope(Typetab *s, const SwigType *nameprefix) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wsf...@us...> - 2012-08-04 20:26:14
|
Revision: 13508 http://swig.svn.sourceforge.net/swig/?rev=13508&view=rev Author: wsfulton Date: 2012-08-04 20:26:08 +0000 (Sat, 04 Aug 2012) Log Message: ----------- Revert resolving template parameters Modified Paths: -------------- trunk/Source/Swig/typesys.c Modified: trunk/Source/Swig/typesys.c =================================================================== --- trunk/Source/Swig/typesys.c 2012-08-04 20:25:43 UTC (rev 13507) +++ trunk/Source/Swig/typesys.c 2012-08-04 20:26:08 UTC (rev 13508) @@ -954,12 +954,11 @@ Iterator pi; Parm *p; List *parms; - /* ty = Swig_symbol_template_deftype(e, current_symtab); - */ + /* String *dt = Swig_symbol_template_deftype(e, current_symtab); ty = Swig_symbol_type_qualify(dt, 0); - Printf(stdout, "extra code: %s => %s\n", dt, ty); + */ e = ty; parms = SwigType_parmlist(e); tprefix = SwigType_templateprefix(e); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wsf...@us...> - 2012-11-18 00:43:37
|
Revision: 13900 http://swig.svn.sourceforge.net/swig/?rev=13900&view=rev Author: wsfulton Date: 2012-11-18 00:43:31 +0000 (Sun, 18 Nov 2012) Log Message: ----------- Fix possible null dereferences Modified Paths: -------------- trunk/Source/Swig/typesys.c Modified: trunk/Source/Swig/typesys.c =================================================================== --- trunk/Source/Swig/typesys.c 2012-11-18 00:43:09 UTC (rev 13899) +++ trunk/Source/Swig/typesys.c 2012-11-18 00:43:31 UTC (rev 13900) @@ -668,7 +668,7 @@ Printf(stdout, "namebase = '%s'\n", namebase); #endif type = typedef_resolve(s, namebase); - if (type) { + if (type && resolved_scope) { /* we need to look for the resolved type, this will also fix the resolved_scope if 'type' and 'namebase' are declared in different scopes */ @@ -680,7 +680,7 @@ #ifdef SWIG_DEBUG Printf(stdout, "%s type = '%s'\n", Getattr(s, "name"), type); #endif - if ((type) && (!Swig_scopename_check(type)) && resolved_scope) { + if (type && (!Swig_scopename_check(type)) && resolved_scope) { Typetab *rtab = resolved_scope; String *qname = Getattr(resolved_scope, "qname"); /* If qualified *and* the typename is defined from the resolved scope, we qualify */ @@ -898,7 +898,7 @@ e = ty; } resolved_scope = 0; - if (typedef_resolve(current_scope, e)) { + if (typedef_resolve(current_scope, e) && resolved_scope) { /* resolved_scope contains the scope that actually resolved the symbol */ String *qname = Getattr(resolved_scope, "qname"); if (qname) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |