[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#56413: [PATCH v3 1/1] scm_i_utf8_string_hash: compute u8 chars not b

From: Ludovic Courtès
Subject: bug#56413: [PATCH v3 1/1] scm_i_utf8_string_hash: compute u8 chars not bytes
Date: Mon, 13 Mar 2023 12:29:04 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)

Hi Rob,

Rob Browning <rlb@defaultvalue.org> skribis:

> Noticed while investigating a migration to utf-8 strings.  After making
> changes that routed non-ascii symbol hashing through this function,
> encoding-iso88597.test began intermittently failing because it would
> traverse trailing garbage when u8_strnlen reported 8 chars instead of 4.
> Change the scm_i_str2symbol and scm_i_str2uninterned_symbol internal
> hash type to unsigned long to explicitly match the scm_i_string_hash
> result type.
> * libguile/hash.c (scm_i_utf8_string_hash): Call u8_mbsnlen not u8_strnlen.
> * libguile/symbols.c (scm_i_str2symbol, scm_i_str2uninterned_symbol):
> Use unsigned long for scm_i_string_hash result.
> * test-suite/standalone/.gitignore: Add test-hashing.
> * test-suite/standalone/Makefile.am: Add test-hashing.
> * test-suite/standalone/test-hashing.c: Add.

Still LGTM, please push!  :-)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]