aboutsummaryrefslogtreecommitdiffstats
path: root/libabort_stralen.c
diff options
context:
space:
mode:
authorMattias Andrée <m@maandree.se>2026-02-28 19:17:45 +0100
committerMattias Andrée <m@maandree.se>2026-02-28 19:17:45 +0100
commit7c545b4b9c31dbfb2e8430aded030654a92e967a (patch)
treecd79fb055bfcca79dee8b1b35c0ed59ea3a0c85a /libabort_stralen.c
downloadlibabort-master.tar.gz
libabort-master.tar.bz2
libabort-master.tar.xz
First commitHEAD1.0master
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to 'libabort_stralen.c')
-rw-r--r--libabort_stralen.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/libabort_stralen.c b/libabort_stralen.c
new file mode 100644
index 0000000..8985256
--- /dev/null
+++ b/libabort_stralen.c
@@ -0,0 +1,34 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+extern inline size_t libabort_stralen(const char *str, size_t size);
+
+#else
+
+volatile size_t test_size_t_discard;
+
+int
+main(void)
+{
+ size_t r;
+
+ INIT_TEST_ABORT();
+
+ EXPECT_NO_ABORT(r = libabort_stralen("", 1));
+ EXPECT(r == 0);
+
+ EXPECT_NO_ABORT(r = libabort_stralen("hello", 6));
+ EXPECT(r == 5);
+
+ EXPECT_NO_ABORT(r = libabort_stralen("hello", 10));
+ EXPECT(r == 5);
+
+ EXPECT_ABORT(test_size_t_discard = libabort_stralen("hello", 4));
+ EXPECT_ABORT(test_size_t_discard = libabort_stralen("hello", 5));
+ EXPECT_ABORT(test_size_t_discard = libabort_stralen("", 0));
+
+ return 0;
+}
+
+#endif