--- Alex Woods wine-devel@giblets.org wrote:
Well, here is a +relay,+nls log of what's happening just before the invalid memory address gets passed back.
Sweet, this turns up what we're looking for. (That doesn't mean I have a patch though.) Hey James, we're back to it being a Wine bug, though Moz is doing something moderately questionable.
0011:Call kernel32.GetTimeZoneInformation(55c08a34) ret=60f61cd6 0011:Call ntdll.RtlQueryTimeZoneInformation(55c08a34) ret=55a6fae5 0011:Ret ntdll.RtlQueryTimeZoneInformation() retval=00000000 ret=55a6fae5 0011:Call ntdll.NtQuerySystemTime(55c08874) ret=55a6ebc5 0011:Ret ntdll.NtQuerySystemTime() retval=00000000 ret=55a6ebc5 0011:Ret kernel32.GetTimeZoneInformation() retval=00000000 ret=60f61cd6 0011:Call kernel32.WideCharToMultiByte(00000000,00000000,55c08a38 L"GMT Standard Time",ffffffff,99806858,00000020,00000000,00000000) ret=60f61cfd
I went over to lxr.mozilla.org/seamonkey and searched for GetTimeZoneInformation. That produced the following file: http://lxr.mozilla.org/seamonkey/source/nsprpub/pr/src/md/windows/ntmisc.c
They're doing a WideCharToMultiByte into the global variable _tzname. As the comment says, perhaps they shouldn't be.. Anyway, _tzname should live in msvcrt, but our include/msvcrt/time.h has: /* FIXME: Must do something for _daylight, _dstbias, _timezone, _tzname */
I'm pretty sure we don't support exporting globals from a DLL, so some other trick has to be dreamt up. I'll try to hack something up.
--Juan
__________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com