From 2a41ec6bf5a4fac48693156a2d9aee5c5482f9d1 Mon Sep 17 00:00:00 2001 From: Marcelo Matus Date: Sat, 23 Oct 2004 06:45:10 +0000 Subject: [PATCH] fix compactdefarg + const ref git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6489 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- SWIG/Source/Swig/cwrap.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/SWIG/Source/Swig/cwrap.c b/SWIG/Source/Swig/cwrap.c index aa9436a82..37e71e101 100644 --- a/SWIG/Source/Swig/cwrap.c +++ b/SWIG/Source/Swig/cwrap.c @@ -172,11 +172,15 @@ int Swig_cargs(Wrapper *w, ParmList *p) { tycode = SwigType_type(type); if (tycode == T_REFERENCE) { if (pvalue) { + SwigType *tvalue; String *defname, *defvalue, *rvalue; rvalue = SwigType_typedef_resolve_all(pvalue); defname = NewStringf("%s_defvalue", lname); - defvalue = NewStringf("%s = %s", SwigType_str(type,defname), rvalue); + tvalue = Copy(type); + SwigType_del_reference(tvalue); + defvalue = NewStringf("%s = %s", SwigType_lstr(tvalue,defname), rvalue); Wrapper_add_localv(w,defname, defvalue, NIL); + Delete(tvalue); Delete(rvalue); Delete(defname); Delete(defvalue);