avoid % and %= operators problem

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8162 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2006-01-01 11:17:26 +00:00
commit 66f294941c

View file

@ -500,10 +500,15 @@ String *apply_rename(String *newname, int fullname, String *prefix, String *name
if (destructor && (*(Char(newname)) != '~')) {
fmt = tmp = NewStringf("~%s", newname);
}
if (fullname && prefix) {
result = NewStringf(fmt,prefix,name);
/* use name as a fmt, but avoid C++ "%" and "%=" operators */
if (Len(newname) > 1 && strstr(Char(newname),"%") && !Equal(newname,"%=")) {
if (fullname && prefix) {
result = NewStringf(fmt,prefix,name);
} else {
result = NewStringf(fmt,name);
}
} else {
result = NewStringf(fmt,name);
result = Copy(newname);
}
if (tmp) Delete(tmp);
}