On 9/19/26 03:05, Bahram Alinezhad wrote:
Also this fails on some tests. log attached.
I hope you fix this.Regards.

Thanks. Your environment is old enough that I don't have a platform to reproduce it on, and I'll need help from you to debug. Let's start by investigating the first failure. Please apply the attached patch to gltests/test-c32isalnum.c, rerun 'make-check', and reply with the output that should be in gltests/test-c32isalnum.sh.log. Since this is a Gnulib issue, please cc to <[email protected]>.

Which version of glibc are you using? Or, if you're using musl, which version of that?

If you can use a debugger to see why gltests/test-c32alsnum is failing, that would help to find the bug faster.

I am also cc'ing this email to [email protected]. For bug-gnulib readers: This is following up <https://lists.gnu.org/r/bug-m4/2026-09/msg00001.html>. The Gnulib test case was made with "./gnulib-tool --create-testdir -h --dir m4gnulib-test c32isalnum c32isalpha c32isblank c32iscntrl c32isdigit c32isgraph c32islower c32isprint c32ispunct c32isspace c32isupper c32isxdigit c32rtomb c32tolower mbrtoc32 mbrtowc" and the test failure occurs on an old system with "System information (uname -a): Linux 2.6.27.7 #2 Thu Nov 20 23:19:39 CST 2008 i586 05/04 AuthenticAMD".
diff --git a/tests/test-c32isalnum.c b/tests/test-c32isalnum.c
index 115cca890f..534f90294a 100644
--- a/tests/test-c32isalnum.c
+++ b/tests/test-c32isalnum.c
@@ -38,7 +38,11 @@ for_character (const char *s, size_t n)
 
   memset (&state, '\0', sizeof (mbstate_t));
   wc = 0xBADFACE;
+  printf ("for_character");
+  for (size_t i = 0; i < n; i++)
+    printf (" %.2x", (unsigned char) s[i]);
   ret = mbrtoc32 (&wc, s, n, &state);
+  printf (" = %zx\n", ret);
   ASSERT (ret == n);
 
   return c32isalnum (wc);
@@ -51,8 +55,10 @@ main (int argc, char *argv[])
   char buf[4];
 
   /* configure should already have checked that the locale is supported.  */
-  if (setlocale (LC_ALL, "") == NULL)
+  char const *locale = setlocale (LC_ALL, "");
+  if (locale == NULL)
     return 1;
+  printf ("setlocale %s\n", locale);
 
   /* Test WEOF.  */
   is = c32isalnum (WEOF);

Reply via email to