On Thu, Jul 13, 2006 at 04:27:59PM +0100, Colin Watson wrote:
> Package: belocs-locales-bin
> Version: 2.4-1
> Severity: normal
> Tags: patch
> 
> (This was discovered by code inspection while trying to get the Ubuntu
> installer working with glibc 2.4; I haven't actually reproduced a
> problem in practice yet that can be attributed to this bug.)

Most locales do not use this portion of code, but da_DK does, for
instance, so a problem can surely be found with this locale.

> The different handling of hash collisions that represents the difference
> between magics 20031115 and 20051014 doesn't appear to work in
> belocs-locales-bin's localedef, because ld-collate.c calls LIMAGIC at
> one point with category 0 (LC_CTYPE) whereas the implementation of
> LIMAGIC smashes 20051014 down to 20031115 for all categories other than
> LC_COLLATE. Patch attached to fix the LIMAGIC call.
[...]
> -           if ((LIMAGIC (0)) < 0x20051014)
> +           if ((LIMAGIC (LC_COLLATE)) < 0x20051014)

I will apply
              if ((LIMAGIC (LC_COLLATE)) ^ LC_COLLATE < 0x20051014)

I did not like it first, and chose another fix, but as you point out it
was plain wrong.
Thanks.

Denis


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to