more smart pointers + extend fixes

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6919 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2005-01-04 20:42:28 +00:00
commit 70d3bde16b
2 changed files with 27 additions and 22 deletions

View file

@ -1083,14 +1083,17 @@ Language::staticmemberfunctionHandler(Node *n) {
String *cname, *mrename;
if (!Extend) {
String *sname = Getattr(Getattr(n,"cplus:staticbase"),"name");
Node *sb = Getattr(n,"cplus:staticbase");
String *sname = sb ? Getattr(sb,"name") : 0;
if (sname) {
cname = NewStringf("%s::%s",sname,name);
} else {
cname = NewStringf("%s::%s",ClassName,name);
}
} else {
cname = Copy(Swig_name_member(ClassPrefix,name));
String *mname = Swig_name_mangle(ClassName);
cname = Swig_name_member(mname,name);
Delete(mname);
}
mrename = Swig_name_member(ClassPrefix, symname);