Make locale archive hash function architecture-independent
Andreas Schwab
schwab@suse.de
Thu Sep 12 08:20:00 GMT 2013
"Joseph S. Myers" <joseph@codesourcery.com> writes:
> diff --git a/locale/hashval.h b/locale/hashval.h
> index 737162f..c714ec6 100644
> --- a/locale/hashval.h
> +++ b/locale/hashval.h
> @@ -37,7 +37,7 @@ compute_hashval (const void *key, size_t keylen)
> while (cnt < keylen)
> {
> hval = (hval << 9) | (hval >> (sizeof hval * CHAR_BIT - 9));
> - hval += (hashval_t) *(((char *) key) + cnt++);
> + hval += (hashval_t) *(((unsigned char *) key) + cnt++);
IMHO writing it like this is easier to parse:
hval += (hashval_t) ((unsigned char *) key)[cnt++];
Andreas.
--
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."
More information about the Libc-alpha
mailing list