Dmitry Timoshkov wrote:
Doing a cursory look I don't see anything other (again, apart from L"something" and (WCHAR)L'%').
That (the WCHARL'%' switch/case) is the one case for which I don't have an answer for. Originally I had the code looking as follows:
INT somefunc(LPCWSTR lpszStr) { while (*lpszStr) { switch (*lpszStr) { case '%': do_something(); break; ...
In other parts of the wine code (I need to find it again, but a grep on the sources should turn it up), generally these types of things gets written as (maybe I just looked in entirely the wrong place ;),
INT somefunc(LPCWSTR lpszStr) { while (*lpszStr) { switch (*lpszStr) { case (WCHAR)L'%': do_something(); break; ...
and consequently I've adapted my code to do the same. I'm not sure what is the "correct" approach to take in this regard. So, yes, I'm quite happy to rid ourselves of the L"something" in the test code and making sure I use WideCharToMultiByte in the correct place, for the above case I need some guidance.
What is the best way to handle these? If the (WCHAR)L'%' thing is not the way to go, I'll be happy to make a patch for the other parts as well. (Once I have an idea of the best way to handle this.)
Greetings, Jaco