summaryrefslogtreecommitdiff
path: root/lib/mlibc/tests/ansi/strchr.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mlibc/tests/ansi/strchr.c')
-rw-r--r--lib/mlibc/tests/ansi/strchr.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/mlibc/tests/ansi/strchr.c b/lib/mlibc/tests/ansi/strchr.c
new file mode 100644
index 0000000..a80a1f9
--- /dev/null
+++ b/lib/mlibc/tests/ansi/strchr.c
@@ -0,0 +1,20 @@
+#include <assert.h>
+#include <string.h>
+#include <stddef.h>
+
+int main() {
+ char str[] = "This is a sample string";
+ char *pch;
+ // The character 's' is at position 4, 7, 11 and 18
+ pch = strchr(str, 's');
+ assert(pch - str + 1 == 4);
+ pch = strchr(pch + 1, 's');
+ assert(pch - str + 1 == 7);
+ pch = strchr(pch + 1, 's');
+ assert(pch - str + 1 == 11);
+ pch = strchr(pch + 1, 's');
+ assert(pch - str + 1 == 18);
+ pch = strchr(pch + 1, 's');
+ assert(pch == NULL);
+ return 0;
+}