Index: ossp-pkg/cfg/cfg_syn_scan.l RCS File: /v/ossp/cvs/ossp-pkg/cfg/cfg_syn_scan.l,v rcsdiff -q -kk '-r1.8' '-r1.9' -u '/v/ossp/cvs/ossp-pkg/cfg/cfg_syn_scan.l,v' 2>/dev/null --- cfg_syn_scan.l 2002/07/10 12:00:23 1.8 +++ cfg_syn_scan.l 2002/07/17 14:48:08 1.9 @@ -82,6 +82,7 @@ /* local variables */ char caStr[1024]; char *cpStr = NULL; + int nCommentOpen = 0; int nQuoteOpen = 0; char cQuoteOpen = '\0'; char cQuoteClose = '\0'; @@ -93,10 +94,16 @@ /* C-style block comment */ "/*" { + nCommentOpen = 1; BEGIN(SS_CO_C); } +"/*" { + nCommentOpen++; +} "*/" { - BEGIN(INITIAL); + nCommentOpen--; + if (nCommentOpen == 0) + BEGIN(INITIAL); } (.|\n) { /* no-op */ Index: ossp-pkg/cfg/sample.cfg RCS File: /v/ossp/cvs/ossp-pkg/cfg/Attic/sample.cfg,v rcsdiff -q -kk '-r1.3' '-r1.4' -u '/v/ossp/cvs/ossp-pkg/cfg/Attic/sample.cfg,v' 2>/dev/null --- sample.cfg 2002/07/08 13:45:28 1.3 +++ sample.cfg 2002/07/17 14:48:08 1.4 @@ -30,7 +30,8 @@ ; /* a C/C++ style block comment which goes over multiple lines and even includes - some special /* ** * / characters */ + some special / * ** * / characters and + a nested /* co/**/mment */, too. */ "==== Single-Quoted Strings ===="; 'foo';