aboutsummaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorDave Beazley <dave-swig@dabeaz.com>2003-05-01 19:23:46 +0000
committerDave Beazley <dave-swig@dabeaz.com>2003-05-01 19:23:46 +0000
commit19034d545f159f518874680b639918af9108d5af (patch)
tree4259b42d832d7194afd53f6c96df72229c980ef9 /Source
parent473790a6ce9d188a58404ecc7c2cfbafd2d852ba (diff)
downloadswig-19034d545f159f518874680b639918af9108d5af.tar.gz
Fixed const-SwigValueWrapper<> bug.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4764 626c5289-ae23-0410-ae9c-e8d60b6d4f22
Diffstat (limited to 'Source')
-rw-r--r--Source/Modules/lang.cxx8
1 files changed, 5 insertions, 3 deletions
diff --git a/Source/Modules/lang.cxx b/Source/Modules/lang.cxx
index bf2ca3be1..a6b39868b 100644
--- a/Source/Modules/lang.cxx
+++ b/Source/Modules/lang.cxx
@@ -259,10 +259,12 @@ SwigType *cplus_value_type(SwigType *t) {
Node *n;
if (!CPlusPlus) return 0;
if (SwigType_isclass(t)) {
- SwigType *td = SwigType_typedef_resolve_all(t);
+ SwigType *ftd = SwigType_typedef_resolve_all(t);
+ SwigType *td = SwigType_strip_qualifiers(ftd);
+ Delete(ftd);
if ((n = Swig_symbol_clookup(td,0))) {
if ((Strcmp(nodeType(n),"class") == 0) && (!Getattr(n,"allocate:default_constructor") || (Getattr(n,"allocate:noassign")))) {
- String *s = NewStringf("SwigValueWrapper< %s >",t);
+ String *s = NewStringf("SwigValueWrapper< %s >",SwigType_str(t,0));
Delete(td);
return s;
} else {
@@ -270,7 +272,7 @@ SwigType *cplus_value_type(SwigType *t) {
}
}
if (SwigType_issimple(td) && SwigType_istemplate(td)) {
- String *s = NewStringf("SwigValueWrapper< %s >",t);
+ String *s = NewStringf("SwigValueWrapper< %s >",SwigType_str(t,0));
Delete(td);
return s;
}