fix missing freeargs

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8475 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2006-01-17 07:43:53 +00:00
commit 56c682d6f9

View file

@ -1745,15 +1745,16 @@ public:
/* Insert cleanup code */
for (p = l; p;) {
// if (!checkAttribute(p,"tmap:in:numinputs","0") && !Getattr(p,"tmap:in:parse")) {
if (!Getattr(p,"tmap:in:parse")) {
tm = Getattr(p,"tmap:freearg");
if (!Getattr(p,"tmap:in:parse") && (tm = Getattr(p,"tmap:freearg"))) {
if (Getattr(p,"tmap:freearg:implicitconv")) {
const char *convflag = "0";
if (!Getattr(p,"self")) {
SwigType *ptype = Getattr(p,"type");
convflag = get_implicitconv_flag(classLookup(ptype));
}
tm = (strcmp(convflag,"0") != 0) ? tm : 0;
if (strcmp(convflag,"0") == 0) {
tm = 0;
}
}
if (tm && (Len(tm) != 0)) {
Replaceall(tm,"$source",Getattr(p,"lname"));