aboutsummaryrefslogtreecommitdiffstats
path: root/memrelem.c
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2018-10-20 22:12:59 +0200
committerMattias Andrée <maandree@kth.se>2018-10-20 22:12:59 +0200
commit24f9649c1f4692dd0cea64170a015a214197c926 (patch)
tree686e5c5c5bea6e69ff5894f10e6dc5fb0124b97f /memrelem.c
parentAdd man pages for memeq, mempcpy and mempset (diff)
downloadlibsimple-24f9649c1f4692dd0cea64170a015a214197c926.tar.gz
libsimple-24f9649c1f4692dd0cea64170a015a214197c926.tar.bz2
libsimple-24f9649c1f4692dd0cea64170a015a214197c926.tar.xz
Add mempsetelem and memsetelem and add fix and tests for memelem and memrelem
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'memrelem.c')
-rw-r--r--memrelem.c26
1 files changed, 24 insertions, 2 deletions
diff --git a/memrelem.c b/memrelem.c
index cc11d9e..e26ebe6 100644
--- a/memrelem.c
+++ b/memrelem.c
@@ -70,12 +70,34 @@ libsimple_memrelem(const void *hay_, size_t hayn, const void *sub_, size_t subn)
int
main(void)
{
- assert(!strcmpnul(libsimple_memrelem("12345634", 4, "", 0), "12345634"));
+ assert(!strcmpnul(libsimple_memrelem("12345634", 8, "", 0), "12345634"));
+ assert(!strcmpnul(libsimple_memrelem("12345634", 0, "", 0), "12345634"));
+
+ assert(!strcmpnul(libsimple_memrelem("12345634", 8, "3", 1), "34"));
+ assert(!libsimple_memrelem("12345634", 8, "x", 1));;
+ assert(!strcmpnul(libsimple_memrelem("13456342", 8, "3", 1), "342"));
+ assert(!libsimple_memrelem("12345634", 0, "3", 1));
+
assert(!strcmpnul(libsimple_memrelem("12345634", 4, "34", 2), "34"));
assert(!libsimple_memrelem("12345634", 4, "xx", 2));
assert(!libsimple_memrelem("13456342", 4, "34", 2));
assert(!libsimple_memrelem("12345634", 0, "34", 2));
- assert(!strcmpnul(libsimple_memrelem("12345634", 0, "34", 0), "12345634"));
+
+ assert(!strcmpnul(libsimple_memrelem("abcd1234abcd1234", 4, "1234", 4), "1234"));
+ assert(!libsimple_memrelem("abcd1234abcd1234", 4, "zzzz", 4));
+ assert(!libsimple_memrelem("cd1234abcd1234ab", 4, "1234", 4));
+ assert(!libsimple_memrelem("abcd1234abcd1234", 0, "1234", 4));
+
+ assert(!strcmpnul(libsimple_memrelem("abcdefgh12345678abcdefgh12345678", 4, "12345678", 8), "12345678"));
+ assert(!libsimple_memrelem("abcdefgh12345678abcdefgh12345678", 4, "zzzzzzzz", 8));
+ assert(!libsimple_memrelem("efgh12345678abcdefgh12345678abcd", 4, "12345678", 8));
+ assert(!libsimple_memrelem("abcdefgh12345678abcdefgh12345678", 0, "12345678", 8));
+
+ assert(!strcmpnul(libsimple_memrelem("abc123abc123", 4, "123", 3), "123"));
+ assert(!libsimple_memrelem("abc123abc123", 4, "zzz", 3));
+ assert(!libsimple_memrelem("bc123abc123a", 4, "123", 3));
+ assert(!libsimple_memrelem("abc123abc123", 0, "123", 3));
+
return 0;
}