From: Marcelo M. <mar...@us...> - 2006-01-21 08:03:41
|
Update of /cvsroot/swig/SWIG/Source/Swig In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30337/Source/Swig Modified Files: typemap.c Log Message: fix 'freearg' applied to 'in' when numinputs=0 Index: typemap.c =================================================================== RCS file: /cvsroot/swig/SWIG/Source/Swig/typemap.c,v retrieving revision 1.62 retrieving revision 1.63 diff -C2 -d -r1.62 -r1.63 *** typemap.c 15 Jan 2006 18:00:11 -0000 1.62 --- typemap.c 21 Jan 2006 08:03:31 -0000 1.63 *************** *** 1511,1524 **** #endif if (tmin) { ! SwigType *typetm = Getattr(tm,k_type); ! SwigType *typein = Getattr(tmin,k_type); ! if (!typein) { ! String *temp = NewStringf("tmap:%s:match_type",kwmatch); ! typein = Getattr(p,temp); ! Delete(temp); ! } ! if (!Equal(typein,typetm)) { p = nextSibling(p); continue; } } else { --- 1511,1532 ---- #endif if (tmin) { ! String *tmninp = NewStringf("tmap:%s:numinputs",kwmatch); ! String *ninp = Getattr(p,tmninp); ! Delete(tmninp); ! if (ninp && Equal(ninp, "0")) { p = nextSibling(p); continue; + } else { + SwigType *typetm = Getattr(tm,k_type); + SwigType *typein = Getattr(tmin,k_type); + if (!typein) { + String *temp = NewStringf("tmap:%s:match_type",kwmatch); + typein = Getattr(p,temp); + Delete(temp); + } + if (!Equal(typein,typetm)) { + p = nextSibling(p); + continue; + } } } else { |