]> Savannah Git Hosting - gnulib.git/commitdiff
wcsncmp tests: Verify N3322 functionality.
authorBruno Haible <bruno@clisp.org>
Tue, 5 Nov 2024 20:12:06 +0000 (21:12 +0100)
committerBruno Haible <bruno@clisp.org>
Tue, 5 Nov 2024 21:38:52 +0000 (22:38 +0100)
* tests/test-wcsncmp.c (main): Add zero-size tests.

ChangeLog
tests/test-wcsncmp.c

index 0bb5d71f7913c886d9a5a36623b7c998c8d60f99..0efaf7854b1a44e94371c2df485b9374c454b10b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2024-11-05  Bruno Haible  <bruno@clisp.org>
+
+       wcsncmp tests: Verify N3322 functionality.
+       * tests/test-wcsncmp.c (main): Add zero-size tests.
+
 2024-11-05  Bruno Haible  <bruno@clisp.org>
 
        wcsncat tests: Verify N3322 functionality.
index 6db6c248ef7eecd2d5cafb61bb5d7c71e96d6794..c1fe103ef418bcab9d82f81c5847d949dee24468 100644 (file)
@@ -178,5 +178,19 @@ main (int argc, char *argv[])
       }
   }
 
+  int volatile value;
+
+  /* Test zero-length operations on NULL pointers, allowed by
+     <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3322.pdf>.  */
+
+  value = (wcsncmp (NULL, L"x", 0) == 0);
+  ASSERT (value);
+
+  value = (wcsncmp (L"x", NULL, 0) == 0);
+  ASSERT (value);
+
+  value = (wcsncmp (NULL, NULL, 0) == 0);
+  ASSERT (value);
+
   return test_exit_status;
 }