Re: Re: Wine CVS won't compile + fix

"Mike Mohr" <[email protected]> Mon, 1 May 2006 14:43:46 -0700
Newsgroups gmane.comp.emulators.winex.devel
Message-ID <[email protected]>
It looks like you didn't apply fix #2, or you didn't do it correctly.=20
Just use the attached patch on a clean copy of cedega cvs and it will
compile:

diff -urN winex/tools/widl/ppl.l winex.new/tools/widl/ppl.l
--- winex/tools/widl/ppl.l=092002-08-04 12:42:56.000000000 -0700
+++ winex.new/tools/widl/ppl.l=092006-04-26 17:09:32.000000000 -0700
@@ -30,7 +30,7 @@
  *=09=09|  {ws} # {ws} error {ws} {anytext} \n
  *=09=09|  {ws} # {ws} warning {ws} {anytext} \n
  *=09=09|  {ws} # {ws} line {ws} " {anytext} " {number} \n
- *=09=09|  {ws} # {ws} {number} " {anytext} " {number} [{number} [{number}=
]] \n
+ *=09=09|  {ws} # {ws} {number} " {anytext} " {number} [{number} [{number}=
] ] \n
  *=09=09|  {ws} # {ws} \n
  *
  * ws=09=09:=3D [ \t\r\f\v]*
diff -urN winex/tools/wrc/parser.l winex.new/tools/wrc/parser.l
--- winex/tools/wrc/parser.l=092006-01-09 10:21:50.000000000 -0800
+++ winex.new/tools/wrc/parser.l=092006-04-26 17:08:54.000000000 -0700
@@ -53,7 +53,7 @@
  */

 /* Exclusive string handling */
-%x yystr
+%x yy_str
 /* Exclusive unicode string handling */
 %x yylstr
 /* Exclusive rcdata single quoted data handling */
@@ -440,46 +440,46 @@
 =09/*
 =09 * Normal string scanning
 =09 */
-\"=09=09=09yy_push_state(yystr); cbufidx =3D 0;
-<yystr>\"{ws}+=09|
-<yystr>\"=09=09{
+\"=09=09=09yy_push_state(yy_str); cbufidx =3D 0;
+<yy_str>\"{ws}+=09|
+<yy_str>\"=09=09{
 =09=09=09=09yy_pop_state();
 =09=09=09=09yylval.str =3D get_buffered_cstring();
 =09=09=09=09return tSTRING;
 =09=09=09}
-<yystr>\\[0-7]{1,3}=09{ /* octal escape sequence */
+<yy_str>\\[0-7]{1,3}=09{ /* octal escape sequence */
 =09=09=09=09int result;
 =09=09=09=09result =3D strtol(yytext+1, 0, 8);
 =09=09=09=09if ( result > 0xff )
 =09=09=09=09=09yyerror("Character constant out of range");
 =09=09=09=09addcchar((char)result);
 =09=09=09}
-<yystr>\\x[0-9a-fA-F]{2} {  /* hex escape sequence */
+<yy_str>\\x[0-9a-fA-F]{2} {  /* hex escape sequence */
 =09=09=09=09int result;
 =09=09=09=09result =3D strtol(yytext+2, 0, 16);
 =09=09=09=09addcchar((char)result);
 =09=09=09}
-<yystr>\\x[0-9a-fA-F]=09{  yyerror("Invalid hex escape sequence '%s'", yyt=
ext); }
+<yy_str>\\x[0-9a-fA-F]=09{  yyerror("Invalid hex escape sequence '%s'",
yytext); }

-<yystr>\\[0-9]+=09=09yyerror("Bad escape secuence");
-<yystr>\\a=09=09addcchar('\a');
-<yystr>\\b=09=09addcchar('\b');
-<yystr>\\f=09=09addcchar('\f');
-<yystr>\\n=09=09addcchar('\n');
-<yystr>\\r=09=09addcchar('\r');
-<yystr>\\t=09=09addcchar('\t');
-<yystr>\\v=09=09addcchar('\v');
-<yystr>\\(\n|.)=09=09addcchar(yytext[1]);
-<yystr>\\\r\n=09=09addcchar(yytext[2]);
-<yystr>[^\\\n\"]+=09{
+<yy_str>\\[0-9]+=09=09yyerror("Bad escape secuence");
+<yy_str>\\a=09=09addcchar('\a');
+<yy_str>\\b=09=09addcchar('\b');
+<yy_str>\\f=09=09addcchar('\f');
+<yy_str>\\n=09=09addcchar('\n');
+<yy_str>\\r=09=09addcchar('\r');
+<yy_str>\\t=09=09addcchar('\t');
+<yy_str>\\v=09=09addcchar('\v');
+<yy_str>\\(\n|.)=09=09addcchar(yytext[1]);
+<yy_str>\\\r\n=09=09addcchar(yytext[2]);
+<yy_str>[^\\\n\"]+=09{
 =09=09=09=09char *yptr =3D yytext;
 =09=09=09=09while(*yptr)
 =09=09=09=09=09addcchar(*yptr++);
 =09=09=09}
-<yystr>\"\"=09=09addcchar('\"');=09=09/* "bla""bla"   -> "bla\"bla" */
-<yystr>\\\"\"=09=09addcchar('\"');=09=09/* "bla\""bla"  -> "bla\"bla" */
-<yystr>\"{ws}+\"=09;=09=09=09/* "bla" "bla"  -> "blabla" */
-<yystr>\n=09=09yyerror("Unterminated string");
+<yy_str>\"\"=09=09addcchar('\"');=09=09/* "bla""bla"   -> "bla\"bla" */
+<yy_str>\\\"\"=09=09addcchar('\"');=09=09/* "bla\""bla"  -> "bla\"bla" */
+<yy_str>\"{ws}+\"=09;=09=09=09/* "bla" "bla"  -> "blabla" */
+<yy_str>\n=09=09yyerror("Unterminated string");

 =09/*
 =09 * Raw data scanning
diff -urN winex/tools/wrc/ppl.l winex.new/tools/wrc/ppl.l
--- winex/tools/wrc/ppl.l=092001-12-31 02:53:15.000000000 -0800
+++ winex.new/tools/wrc/ppl.l=092006-04-26 17:09:20.000000000 -0700
@@ -30,7 +30,7 @@
  *=09=09|  {ws} # {ws} error {ws} {anytext} \n
  *=09=09|  {ws} # {ws} warning {ws} {anytext} \n
  *=09=09|  {ws} # {ws} line {ws} " {anytext} " {number} \n
- *=09=09|  {ws} # {ws} {number} " {anytext} " {number} [{number} [{number}=
]] \n
+ *=09=09|  {ws} # {ws} {number} " {anytext} " {number} [{number} [{number}=
] ] \n
  *=09=09|  {ws} # {ws} \n
  *
  * ws=09=09:=3D [ \t\r\f\v]*