> since the CVS update this morning I get:
> Warning winnt.h: 1838, 55: Unmatched text '\' (0x5c)
> YY_START=17 stripslevel=0 near '\'
> Warning winnt.h: 1839, 49: Unmatched text '\' (0x5c)
> YY_START=17 stripslevel=0 near '\'
> Warning winnt.h: 1840, 48: Unmatched text '\' (0x5c)
> YY_START=17 stripslevel=0 near '\'
Here is a fix for the problem. It is not theoretically sound,
since it chokes on "\"", but then "\"" is not currently used
so it is better than nothing.
Anybody intrested in implemented a theoretically sound solution?
It also fixes a minor bug (typo), that fortunately only
effects seriously broken code.
Index: wine/tools/wrc/parser.l
===================================================================
RCS file: /home/wine/wine/tools/wrc/parser.l,v
retrieving revision 1.9
diff -u -u -r1.9 parser.l
--- wine/tools/wrc/parser.l 2000/03/28 19:25:46 1.9
+++ wine/tools/wrc/parser.l 2000/04/25 15:00:54
@@ -412,7 +412,7 @@
/* #include handling */
^{ws}*#{ws}*include{ws}* push_to(pp_incl);
<pp_incl>\<[^\n\>]+\> do_include(yytext, yyleng); pop_start();
-<pp_incl>\"[^\n\>]+\" do_include(yytext, yyleng); pop_start();
+<pp_incl>\"[^\n\"]+\" do_include(yytext, yyleng); pop_start();
<pp_incl>. yyerror("Malformed #include");
/* #define handling */
@@ -424,7 +424,11 @@
<pp_def>{cident}\( push_to(pp_ignore); /* Ignore function-like defines
for now*/
<pp_def>. yyerror("Malformed #define");
-<pp_ignore,pp_def_s>[^\/\\\n]* {
+<pp_ignore,pp_def_s>[^\"\/\\\n]* {
+ if(YY_START == pp_def_s)
+ add_to_substtext(yytext, yyleng);
+ }
+<pp_ignore,pp_def_s>\"[^\"\n]*\" {
if(YY_START == pp_def_s)
add_to_substtext(yytext, yyleng);
}