diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-12-09 18:10:15 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-12-09 18:10:15 +0000 |
commit | c13f651e0fdaecc0b3fd858d6ae681084aa7588c (patch) | |
tree | b59fda1f4ca4ee7ef3947bdc482d07ee17a1c743 /string/stratcliff.c | |
parent | 1d5c2feb1c7dbefca171fb4bae4949b3acdf1ef5 (diff) | |
download | glibc-c13f651e0fdaecc0b3fd858d6ae681084aa7588c.tar.gz glibc-c13f651e0fdaecc0b3fd858d6ae681084aa7588c.tar.xz glibc-c13f651e0fdaecc0b3fd858d6ae681084aa7588c.zip |
Update.
* string/stratcliff.c: Add tests for stpncpy, memcpy, and mempcpy.
Diffstat (limited to 'string/stratcliff.c')
-rw-r--r-- | string/stratcliff.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/string/stratcliff.c b/string/stratcliff.c index bd95a2c564..43ca355649 100644 --- a/string/stratcliff.c +++ b/string/stratcliff.c @@ -209,6 +209,48 @@ main (int argc, char *argv[]) adr[inner] = 'T'; } } + + /* stpncpy test */ + for (outer = size - 1; outer >= MAX (0, size - 128); --outer) + { + for (middle = MAX (outer, size - 64); middle < size; ++middle) + { + adr[middle] = '\0'; + + for (inner = 0; inner < size - outer; ++ inner) + { + if ((stpncpy (dest, &adr[outer], inner) - dest) + != MIN (inner, middle - outer)) + { + printf ("stpncpy flunked for outer = %d, middle = %d, " + "inner = %d\n", outer, middle, inner); + result = 1; + } + } + + adr[middle] = 'T'; + } + } + + /* memcpy test */ + for (outer = size - 1; outer >= MAX (0, size - 128); --outer) + for (inner = 0; inner < size - outer; ++inner) + if (memcpy (dest, &adr[outer], inner) != dest) + { + printf ("memcpy flunked for outer = %d, inner = %d\n", + outer, inner); + result = 1; + } + + /* mempcpy test */ + for (outer = size - 1; outer >= MAX (0, size - 128); --outer) + for (inner = 0; inner < size - outer; ++inner) + if (mempcpy (dest, &adr[outer], inner) != dest + inner) + { + printf ("mempcpy flunked for outer = %d, inner = %d\n", + outer, inner); + result = 1; + } } return result; |