ichael Cardenas wrote:
So, I think I found the problem. michael cardenas wrote:
08d10f38:Call kernel32.WideCharToMultiByte(00000000,00000000,405b54f4 L"Internet Explorer_Hidden",ffffffff,405b52a0,00000207,00000000,00000000) ret=70bd1cbf 08d10f38:Ret kernel32.WideCharToMultiByte() retval=00000019 ret=70bd1cbf
It seems that WideCharToMultiByte thinks it can't translate _ to the ascii codepage. I'm trying to dig in and fix this now.
WideCharToMultiByte calls down to wcstombs_sbcs, which copies the string in correctly, but the length returned is wrong.
in this case, the length is found by calling strlenW, which is an inline in include/wine/unicode.h, because the calling app passes in -1 as the length of the src string.
i'm not terribly familiar with asm in gcc. does strlenW look like it might not return the right value if there's a _ in the string?
Michael Cardenas wrote:
Michael Cardenas wrote:
So, I think I found the problem. michael cardenas wrote:
08d10f38:Call kernel32.WideCharToMultiByte(00000000,00000000,405b54f4 L"Internet Explorer_Hidden",ffffffff,405b52a0,00000207,00000000,00000000) ret=70bd1cbf 08d10f38:Ret kernel32.WideCharToMultiByte() retval=00000019 ret=70bd1cbf
i'm not terribly familiar with asm in gcc. does strlenW look like it might not return the right value if there's a _ in the string?
I tried an isolated test case and strlenW works fine. I'm going to try to see if another string is somehow getting passed to it. ???
"Michael Cardenas" michael.cardenas@lindows.com wrote:
08d10f38:Call kernel32.WideCharToMultiByte(00000000,00000000,405b54f4 L"Internet Explorer_Hidden",ffffffff,405b52a0,00000207,00000000,00000000) ret=70bd1cbf 08d10f38:Ret kernel32.WideCharToMultiByte() retval=00000019 ret=70bd1cbf
i'm not terribly familiar with asm in gcc. does strlenW look like it might not return the right value if there's a _ in the string?
I tried an isolated test case and strlenW works fine. I'm going to try to see if another string is somehow getting passed to it. ???
I don't see any problem with the above trace. "Internet Explorer_Hidden" has length 24 + '\0' = 25. WideCharToMultiByte() has returned 0x19 == 25 decimal. Why did you conclude that '_' can't be translated from unicode to ANSI?
--- Michael Cardenas michael.cardenas@lindows.com wrote:
I tried an isolated test case and strlenW works fine. I'm going to try to see if another string is somehow getting passed to it. ???
<hint>Why not contribute these test to Wine unit tests? See ./user/tests/sysparams.c for example ;-) </hint>
Andriy Palamarchuk
__________________________________________________ Do You Yahoo!? Yahoo! Movies - coverage of the 74th Academy Awards� http://movies.yahoo.com/