aboutsummaryrefslogtreecommitdiff
path: root/lib/mlibc/tests/posix/index.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mlibc/tests/posix/index.c')
-rw-r--r--lib/mlibc/tests/posix/index.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/mlibc/tests/posix/index.c b/lib/mlibc/tests/posix/index.c
new file mode 100644
index 0000000..63be75d
--- /dev/null
+++ b/lib/mlibc/tests/posix/index.c
@@ -0,0 +1,20 @@
+#include <assert.h>
+#include <strings.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 = index(str, 's');
+ assert(pch - str + 1 == 4);
+ pch = index(pch + 1, 's');
+ assert(pch - str + 1 == 7);
+ pch = index(pch + 1, 's');
+ assert(pch - str + 1 == 11);
+ pch = index(pch + 1, 's');
+ assert(pch - str + 1 == 18);
+ pch = index(pch + 1, 's');
+ assert(pch == NULL);
+ return 0;
+}