1 /* Test and measure stpncpy functions.
2 Copyright (C) 1999-2014 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4 Written by Jakub Jelinek <jakub@redhat.com>, 1999.
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
20 #define STRNCPY_RESULT(dst, len, n) ((dst) + ((len) > (n) ? (n) : (len)))
22 #define TEST_NAME "stpncpy"
23 #include "test-string.h"
25 char *simple_stpncpy (char *, const char *, size_t);
26 char *stupid_stpncpy (char *, const char *, size_t);
28 IMPL (stupid_stpncpy
, 0)
29 IMPL (simple_stpncpy
, 0)
33 simple_stpncpy (char *dst
, const char *src
, size_t n
)
36 if ((*dst
++ = *src
++) == '\0')
40 for (i
= 0; i
< n
; ++i
)
48 stupid_stpncpy (char *dst
, const char *src
, size_t n
)
50 size_t nc
= strnlen (src
, n
);
53 for (i
= 0; i
< nc
; ++i
)
60 #include "test-strncpy.c"