This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH][BZ #18441] fix sorting multibyte charsets with an improper locale
- From: OndÅej BÃlka <neleai at seznam dot cz>
- To: Andreas Schwab <schwab at linux-m68k dot org>
- Cc: Leonhard Holz <leonhard dot holz at web dot de>, libc-alpha at sourceware dot org
- Date: Sat, 27 Jun 2015 22:56:32 +0200
- Subject: Re: [PATCH][BZ #18441] fix sorting multibyte charsets with an improper locale
- Authentication-results: sourceware.org; auth=none
- References: <558EA828 dot 3080106 at web dot de> <20150627190422 dot GA7128 at domone> <87ioa8vrt6 dot fsf at igel dot home>
On Sat, Jun 27, 2015 at 10:07:17PM +0200, Andreas Schwab wrote:
> OndÅej BÃlka <neleai@seznam.cz> writes:
>
> > *((uint16_t *) runp->mbs)
> > (index << 12) ^ *((uint16_t *) (runp->mbs+1));
>
> Either of these will be unaligned.
>
Which as its used to index array of size 256 * 256 is what we want.
But now I see that I didn't wrote what I meant as second could be
larger, If you want to add index into hash function I would add it as
below as high bits are unlikely to change, like following
(index << 4) ^ *((uint16_t *) (runp->mbs+1))