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]