diff options
author | Marcelo Matus <mmatus@acms.arizona.edu> | 2004-12-04 08:33:39 +0000 |
---|---|---|
committer | Marcelo Matus <mmatus@acms.arizona.edu> | 2004-12-04 08:33:39 +0000 |
commit | e4cdbbfaefc57dadcff8d22c941e0ff253309a39 (patch) | |
tree | e0b85b2cab7745aaf8c91a3a89673afcb8174794 | |
parent | d88eed76e61e340c12925035da583bcbe7465e68 (diff) | |
download | swig-e4cdbbfaefc57dadcff8d22c941e0ff253309a39.tar.gz |
old extra fix for valuewrapper
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6832 626c5289-ae23-0410-ae9c-e8d60b6d4f22
-rw-r--r-- | SWIG/Source/Swig/typesys.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/SWIG/Source/Swig/typesys.c b/SWIG/Source/Swig/typesys.c index 928abb9e1..8fcba3f4b 100644 --- a/SWIG/Source/Swig/typesys.c +++ b/SWIG/Source/Swig/typesys.c @@ -1261,6 +1261,7 @@ SwigType *SwigType_alttype(SwigType *t, int local_tmap) { if (value_wrapper_mode == 0) { /* old partial use of SwigValueTypes, it can fail for opaque types */ Node *n; + SwigType *w = 0; int use_wrapper = 0; if (local_tmap) return 0; if (!use_wrapper && SwigType_isclass(t)) { @@ -1283,9 +1284,10 @@ SwigType *SwigType_alttype(SwigType *t, int local_tmap) { use_wrapper = 1; } } + if (use_wrapper) w = NewStringf("SwigValueWrapper<%s >",SwigType_str(td,0)); Delete(td); } - return (use_wrapper ? NewStringf("SwigValueWrapper< %s >",SwigType_str(t,0)): 0); + return w; } else { /* safe use of SwigValueTypes, it can fail with some typemaps */ SwigType *w = 0; @@ -1306,9 +1308,7 @@ SwigType *SwigType_alttype(SwigType *t, int local_tmap) { use_wrapper = 0; } if (use_wrapper) { - String *name = SwigType_str(t,0); - w = NewStringf("SwigValueWrapper<%s >",name); - Delete(name); + w = NewStringf("SwigValueWrapper<%s >",td); } Delete(ftd); Delete(td); |