2009/3/22 Robert Lunnon bobl@optusnet.com.au:
I get this error under solaris building wine. Any clues would be welcome (Things have probably changed a lot since I last hacked on Wine)
make[2]: Entering directory `/export/home/src/wine2004/wine/dlls/kernel32' ../../tools/wrc/wrc --nostdinc -I. -I. -I../../include -I../../include -D__WINESRC__ -D_KERNEL32_ -fokernel. res kernel.rc Source: ¤Q¤ë a4 51 a4 eb Unicode: 5341 6708 Back: ¢Ì¤ë a2 cc a4 eb nls/cht.nls:84:16: Error: String ¤Q¤ë does not convert identically to Unicode and back in codepage 950. Try us ing a Unicode string instead
There is a problem with converting to/from codepages in wrc on your system, but the code that does should not be system-dependent (the character data is all in libwine).
The Unicode string dumped above looks correct, but the first two bytes of "Back" are wrong. wrc uses libs/wine/wctomb.c:wine_cp_wcstombs to do the conversion from UCS-16 -> cp950 and in this case I believe it will specifically use the wcstombs_dbcs function. Can you change this function to dump out *src, uni2cp_high[*src >> 8] and res inside the loop and run wrc again on the file above?
Also, what compiler did you use to compile wrc and libwine?