add Deletes where needed, to reduce memory use
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@7007 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
24cc273b92
commit
7cb76a14f4
1 changed files with 24 additions and 27 deletions
|
|
@ -158,16 +158,15 @@ int ParmList_len(ParmList *p) {
|
||||||
* ---------------------------------------------------------------------- */
|
* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
String *ParmList_str(ParmList *p) {
|
String *ParmList_str(ParmList *p) {
|
||||||
String *out;
|
String *out = NewString("");
|
||||||
SwigType *t;
|
|
||||||
|
|
||||||
out = NewString("");
|
|
||||||
while(p) {
|
while(p) {
|
||||||
t = Getattr(p,"type");
|
String *pstr = SwigType_str(Getattr(p,"type"), Getattr(p,"name"));
|
||||||
Printf(out,"%s", SwigType_str(t,Getattr(p,"name")));
|
Printf(out,"%s", pstr);
|
||||||
p = nextSibling(p);
|
p = nextSibling(p);
|
||||||
if (p)
|
if (p) {
|
||||||
Printf(out,",");
|
Printf(out,",");
|
||||||
|
}
|
||||||
|
Delete(pstr);
|
||||||
}
|
}
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
@ -179,20 +178,19 @@ String *ParmList_str(ParmList *p) {
|
||||||
* ---------------------------------------------------------------------- */
|
* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
String *ParmList_str_defaultargs(ParmList *p) {
|
String *ParmList_str_defaultargs(ParmList *p) {
|
||||||
String *out;
|
String *out = NewString("");
|
||||||
String *value;
|
|
||||||
SwigType *t;
|
|
||||||
|
|
||||||
out = NewString("");
|
|
||||||
while(p) {
|
while(p) {
|
||||||
t = Getattr(p,"type");
|
String *value = Getattr(p,"value");
|
||||||
Printf(out,"%s", SwigType_str(t,Getattr(p,"name")));
|
String *pstr = SwigType_str(Getattr(p,"type"), Getattr(p,"name"));
|
||||||
value = Getattr(p,"value");
|
Printf(out,"%s", pstr);
|
||||||
if (value)
|
if (value) {
|
||||||
Printf(out,"=%s", value);
|
Printf(out,"=%s", value);
|
||||||
|
}
|
||||||
p = nextSibling(p);
|
p = nextSibling(p);
|
||||||
if (p)
|
if (p) {
|
||||||
Printf(out,",");
|
Printf(out,",");
|
||||||
|
}
|
||||||
|
Delete(pstr);
|
||||||
}
|
}
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
@ -204,20 +202,19 @@ String *ParmList_str_defaultargs(ParmList *p) {
|
||||||
* ---------------------------------------------------------------------- */
|
* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
String *ParmList_protostr(ParmList *p) {
|
String *ParmList_protostr(ParmList *p) {
|
||||||
String *out;
|
String *out = NewString("");
|
||||||
SwigType *t;
|
|
||||||
|
|
||||||
out = NewString("");
|
|
||||||
while(p) {
|
while(p) {
|
||||||
if (Getattr(p,"hidden")) {
|
if (Getattr(p,"hidden")) {
|
||||||
p = nextSibling(p);
|
p = nextSibling(p);
|
||||||
continue;
|
} else {
|
||||||
|
String *pstr = SwigType_str(Getattr(p,"type"), 0);
|
||||||
|
Printf(out,"%s", pstr);
|
||||||
|
p = nextSibling(p);
|
||||||
|
if (p) {
|
||||||
|
Printf(out,",");
|
||||||
|
}
|
||||||
|
Delete(pstr);
|
||||||
}
|
}
|
||||||
t = Getattr(p,"type");
|
|
||||||
Printf(out,"%s", SwigType_str(t,0));
|
|
||||||
p = nextSibling(p);
|
|
||||||
if (p)
|
|
||||||
Printf(out,",");
|
|
||||||
}
|
}
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue