[prev in list] [next in list] [prev in thread] [next in thread]
List: wine-devel
Subject: Re: for the record, my ole32 binary tree search patch is correct
From: Yuriy Kaminskiy <yumkam () mail ! ru>
Date: 2009-10-29 2:04:39
Message-ID: hcat7n$m9d$1 () ger ! gmane ! org
[Download RAW message or body]
On 28.10.2009 20:30, Vincent Povirk wrote:
>> If I've not mistaken, that uses lstricmp internally for comparing keys.
>
> It uses lstrcmpiW, which according to MSDN can behave differently
> based on locale, but I don't think the Wine version does.
Note, that, it is not only difference in >0x7f "nls" chars (somewhat
"expected"), there are difference in ascii range too (see that test from
test/locale.c). [I'm saying about difference between wine vs. windows; I'm not
sure if windows lstricmpW /really/ work differently in different locales]
[...]
> I think what saves us is that programs rarely expose storage and
> stream names directly to users, so the set of characters we have to
> deal with in practice is limited.
I've looked at some .msi files - stream names contain problematic characters:
'.' vs. '_' (mismatches between wine and windows; there are more such chars),
'_' vs. '0' (mismatches between strcasecmp and strcoll|lstricmp).
So, while "problematic" files maybe very rare, but not impossible.
> Still, we really should use a comparison function that's at least
> guaranteed to be consistent.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic