Juan Lang wrote:
--- Robert Shearman rob@codeweavers.com wrote:
This is *really* ugly. Create a header file with just the version numbers defined and import it from the resource file and the file that implements the DllGetVersion function and problem solved.
Got any suggestions for the version string? The rc compiler doesn't like any complicated macro fun.
Yes, you're right. I would submit a patch with the string manually created and I'll see what I can do about fixing wpp, unless anyone else volunteers. Attached is the patch I have so far, but it doesn't work on some of our header files.
Rob
Index: wine/libs/wpp/ppl.l =================================================================== RCS file: /home/wine/wine/libs/wpp/ppl.l,v retrieving revision 1.4 diff -u -p -r1.4 ppl.l --- wine/libs/wpp/ppl.l 21 Oct 2003 23:57:25 -0000 1.4 +++ wine/libs/wpp/ppl.l 15 Sep 2004 11:38:13 -0000 @@ -433,8 +433,12 @@ includelogicentry_t *pp_includelogiclist /* * Scan the substitution of a define */ -<pp_define>[^'"/\\n]+ pplval.cptr = pp_xstrdup(pptext); return tLITERAL; -<pp_define>(\\r?)|(/[^/*]) pplval.cptr = pp_xstrdup(pptext); return tLITERAL; +<pp_define>[^a-zA-Z0-9'"#/\\n]+ pplval.cptr = pp_xstrdup(pptext); return tLITERAL; +<pp_define>{cident} pplval.cptr = pp_xstrdup(pptext); return tIDENT; +<pp_define>## return tCONCAT; +<pp_define># return tSTRINGIZE; +<pp_define>[0-9][^'"#/\\n]* pplval.cptr = pp_xstrdup(pptext); return tLITERAL; +<pp_define>(\\r?)|(/[^/*'"#\\n]*) pplval.cptr = pp_xstrdup(pptext); return tLITERAL; <pp_define>\\r?\n{ws}+ newline(0); pplval.cptr = pp_xstrdup(" "); return tLITERAL; <pp_define>\\r?\n newline(0); <pp_define>\n newline(1); yy_pop_state(); return tNL;