1 /* stpcpy.c -- copy a string and return pointer to end of new string
2 Copyright (C) 1992, 1995, 1997-1998, 2006, 2009-2020 Free Software
3 Foundation, Inc.
4
5 NOTE: The canonical source of this file is maintained with the GNU C Library.
6 Bugs can be reported to bug-glibc@prep.ai.mit.edu.
7
8 This program is free software: you can redistribute it and/or modify it
9 under the terms of the GNU General Public License as published by the
10 Free Software Foundation; either version 3 of the License, or any
11 later version.
12
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with this program. If not, see <https://www.gnu.org/licenses/>. */
20
21 #include <config.h>
22
23 #include <string.h>
24
25 #undef __stpcpy
26 #ifdef _LIBC
27 # undef stpcpy
28 #endif
29
30 #ifndef weak_alias
31 # define __stpcpy stpcpy
32 #endif
33
34 /* Copy SRC to DEST, returning the address of the terminating '\0' in DEST. */
35 char *
__stpcpy(char * dest,const char * src)36 __stpcpy (char *dest, const char *src)
37 {
38 register char *d = dest;
39 register const char *s = src;
40
41 do
42 *d++ = *s;
43 while (*s++ != '\0');
44
45 return d - 1;
46 }
47 #ifdef weak_alias
48 weak_alias (__stpcpy, stpcpy)
49 #endif
50