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]*