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

ChangeLog
tests/test-memcmp.c

index 15d587da219f05bc7109edea79325ed9623c950d..79c9c8ed36e67fdffd520008d5c36921bc4ed654 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2024-11-05  Bruno Haible  <bruno@clisp.org>
+
+       memcmp tests: Verify N3322 functionality.
+       * tests/test-memcmp.c (main): Add zero-size tests.
+
 2024-11-05  Bruno Haible  <bruno@clisp.org>
 
        strncat tests: Verify N3322 functionality.
index 11ae43719ce92aa1fdd529a4725b875cbacb2837..633ba9d193176624bf1a4025eb53f37d446cdb5f 100644 (file)
@@ -75,5 +75,19 @@ main (void)
       }
   }
 
+  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 = (memcmp (NULL, "x", 0) == 0);
+  ASSERT (value);
+
+  value = (memcmp ("x", NULL, 0) == 0);
+  ASSERT (value);
+
+  value = (memcmp (NULL, NULL, 0) == 0);
+  ASSERT (value);
+
   return test_exit_status;
 }