diff options
Diffstat (limited to 'gnulib/tests/test-stpncpy.c')
m--------- | gnulib | 0 | ||||
-rw-r--r-- | gnulib/tests/test-stpncpy.c | 61 |
2 files changed, 61 insertions, 0 deletions
diff --git a/gnulib b/gnulib deleted file mode 160000 -Subproject 443bc5ffcf7429e557f4a371b0661abe98ddbc1 diff --git a/gnulib/tests/test-stpncpy.c b/gnulib/tests/test-stpncpy.c new file mode 100644 index 0000000..b719cad --- /dev/null +++ b/gnulib/tests/test-stpncpy.c @@ -0,0 +1,61 @@ +/* Test the system defined function stpncpy(). + Copyright (C) 2003, 2008-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#include <config.h> + +#include <string.h> + +#include "signature.h" +SIGNATURE_CHECK (stpncpy, char *, (char *, char const *, size_t)); + +#include <stdio.h> + +int +main () +{ + char from[10]; + char to[10]; + int i, j, k, h; + char *ret; + + for (i = 0; i < 10; i++) + for (j = 0; j < 10; j++) + for (k = 0; k < 10; k++) + { + memset (from, 'X', sizeof from); + memcpy (from, "SourceString", i); + if (i < 10) from[i] = '\0'; + memset (to, 'Y', sizeof to); + memcpy (to, "Destination", k); + if (k < 10) to[k] = '\0'; + ret = stpncpy (to, from, j); + printf ("i = %2d, j = %2d, k = %2d: from = ", i, j, k); + for (h = 0; h < 10; h++) + if (from[h] >= 0x20 && from[h] < 0x7f) + putchar (from[h]); + else + printf ("\\x%02x", from[h]); + printf (" to = "); + for (h = 0; h < 10; h++) + if (to[h] >= 0x20 && to[h] < 0x7f) + putchar (to[h]); + else + printf ("\\x%02x", to[h]); + printf (" ret = to + %d\n", ret - to); + } + + return 0; +} |