|
|
|
@ -1,5 +1,5 @@
@@ -1,5 +1,5 @@
|
|
|
|
|
//
|
|
|
|
|
// "$Id: Fl_Function_Type.cxx,v 1.15.2.16.2.5 2002/05/12 01:02:17 easysw Exp $"
|
|
|
|
|
// "$Id: Fl_Function_Type.cxx,v 1.15.2.16.2.6 2002/05/15 23:32:25 easysw Exp $"
|
|
|
|
|
//
|
|
|
|
|
// C function type code for the Fast Light Tool Kit (FLTK).
|
|
|
|
|
//
|
|
|
|
@ -258,21 +258,23 @@ void Fl_Function_Type::write_code1() {
@@ -258,21 +258,23 @@ void Fl_Function_Type::write_code1() {
|
|
|
|
|
|
|
|
|
|
write_h("%s;\n", s); |
|
|
|
|
// skip all function default param. init in body:
|
|
|
|
|
int skips=0; |
|
|
|
|
int skips=0,skipc=0; |
|
|
|
|
int nc=0,level=0; |
|
|
|
|
for (sptr=s,nptr=(char*)name(); *nptr; nc++,nptr++) { |
|
|
|
|
if (!skips && *nptr=='(') level++; |
|
|
|
|
else if (!skips && *nptr==')') level--; |
|
|
|
|
|
|
|
|
|
if ( *nptr=='"' && !(nc && *(nptr-1)=='\\') )
|
|
|
|
|
skips = skips ? 0 : 1; |
|
|
|
|
if(!skips && level==1 && *nptr =='=' &&
|
|
|
|
|
else if(!skips && *nptr=='\'' && !(nc && *(nptr-1)=='\\')) |
|
|
|
|
skipc = skipc ? 0 : 1; |
|
|
|
|
if(!skips && !skipc && level==1 && *nptr =='=' &&
|
|
|
|
|
!(nc && *(nptr-1)=='\'') ) // ignore '=' case
|
|
|
|
|
while(*++nptr && (skips || *(nptr-1)=='\'' ||
|
|
|
|
|
(*nptr!=',' && (*nptr!=')' || level!=1) ))) { |
|
|
|
|
while(*++nptr && (skips || skipc || (*nptr!=',' && *nptr!=')' || level!=1) )) { |
|
|
|
|
if ( *nptr=='"' && *(nptr-1)!='\\' )
|
|
|
|
|
skips = skips ? 0 : 1; |
|
|
|
|
if (!skips && *nptr=='(') level++; |
|
|
|
|
else if(!skips && *nptr=='\'' && *(nptr-1)!='\\') |
|
|
|
|
skipc = skipc ? 0 : 1; |
|
|
|
|
if (!skips && !skipc && *nptr=='(') level++; |
|
|
|
|
else if (!skips && *nptr==')') level--; |
|
|
|
|
} |
|
|
|
|
*sptr++ = *nptr; |
|
|
|
@ -702,5 +704,5 @@ void Fl_Class_Type::write_code2() {
@@ -702,5 +704,5 @@ void Fl_Class_Type::write_code2() {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// End of "$Id: Fl_Function_Type.cxx,v 1.15.2.16.2.5 2002/05/12 01:02:17 easysw Exp $".
|
|
|
|
|
// End of "$Id: Fl_Function_Type.cxx,v 1.15.2.16.2.6 2002/05/15 23:32:25 easysw Exp $".
|
|
|
|
|
//
|
|
|
|
|