From: Marcelo M. <mar...@us...> - 2004-12-23 01:12:17
|
Update of /cvsroot/swig/SWIG/Source/Swig In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3661/Source/Swig Modified Files: cwrap.c Log Message: more smart_pointer + static methods fixes Index: cwrap.c =================================================================== RCS file: /cvsroot/swig/SWIG/Source/Swig/cwrap.c,v retrieving revision 1.52 retrieving revision 1.53 diff -C2 -d -r1.52 -r1.53 *** cwrap.c 18 Dec 2004 05:53:53 -0000 1.52 --- cwrap.c 23 Dec 2004 01:11:52 -0000 1.53 *************** *** 792,805 **** int i = 0; Parm *pp = p; ! String *func = NewStringf("%s((%s*)(%s)->operator ->()", mangled, cname, ! Swig_cparm_name(pp,i++)); ! while ((pp = nextSibling(pp))) { SwigType *pt = Getattr(pp,"type"); if ((SwigType_type(pt) != T_VOID)) { String *pname = Swig_cparm_name(pp,i++); String *rcaststr = SwigType_rcaststr(pt, pname); ! Printf(func,",%s", rcaststr); Delete(rcaststr); Delete(pname); } } --- 792,816 ---- int i = 0; Parm *pp = p; ! String *func = NewStringf("%s(", mangled); ! if (Cmp(Getattr(n,"storage"),"static") != 0) { ! String *fadd = NewStringf("(%s*)(%s)->operator ->()", cname, Swig_cparm_name(pp,i)); ! Append(func,fadd); ! Delete(fadd); ! pp = nextSibling(pp); ! if (pp) Append(func,","); ! } else{ ! pp = nextSibling(pp); ! } ! ++i; ! while (pp) { SwigType *pt = Getattr(pp,"type"); if ((SwigType_type(pt) != T_VOID)) { String *pname = Swig_cparm_name(pp,i++); String *rcaststr = SwigType_rcaststr(pt, pname); ! Printf(func,"%s", rcaststr); Delete(rcaststr); Delete(pname); + pp = nextSibling(pp); + if (pp) Append(func,","); } } |