aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--string/tester.c30
2 files changed, 32 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 31f0b3a..99bbb67 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
1999-05-03 Ulrich Drepper <drepper@cygnus.com>
+ * string/tester.c: Add test of rawmemchr.
+
* sysdeps/i386/bits/select.h (__FD_ZERO): Remove memory output
specification. It's not necessary.
diff --git a/string/tester.c b/string/tester.c
index 96c7aa2..fbadbb0 100644
--- a/string/tester.c
+++ b/string/tester.c
@@ -443,6 +443,33 @@ test_strchrnul (void)
}
void
+test_rawmemchr (void)
+{
+ it = "rawmemchr";
+ (void) strcpy (one, "abcd");
+ check (rawmemchr (one, 'c') == one+2, 1); /* Basic test. */
+ check (rawmemchr (one, 'd') == one+3, 2); /* End of string. */
+ check (rawmemchr (one, 'a') == one, 3); /* Beginning. */
+ check (rawmemchr (one, '\0') == one+4, 4); /* Finding NUL. */
+ (void) strcpy (one, "ababa");
+ check (rawmemchr (one, 'b') == one+1, 5); /* Finding first. */
+ (void) strcpy (one, "");
+ check (rawmemchr (one, '\0') == one, 6); /* NUL in empty string. */
+ {
+ char buf[4096];
+ int i;
+ char *p;
+ for (i=0; i < 0x100; i++)
+ {
+ p = (char *) ((unsigned long int) (buf + 0xff) & ~0xff) + i;
+ strcpy (p, "OK");
+ strcpy (p+3, "BAD/WRONG");
+ check (rawmemchr (p, 'R') == p+8, 6+i);
+ }
+ }
+}
+
+void
test_index (void)
{
it = "index";
@@ -1099,6 +1126,9 @@ main (void)
/* strchrnul. */
test_strchrnul ();
+ /* rawmemchr. */
+ test_rawmemchr ();
+
/* index - just like strchr. */
test_index ();