diff options
Diffstat (limited to 'lib/stpcpy.c')
| -rw-r--r-- | lib/stpcpy.c | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/lib/stpcpy.c b/lib/stpcpy.c new file mode 100644 index 00000000000..880a7061ef1 --- /dev/null +++ b/lib/stpcpy.c | |||
| @@ -0,0 +1,49 @@ | |||
| 1 | /* stpcpy.c -- copy a string and return pointer to end of new string | ||
| 2 | Copyright (C) 1992, 1995, 1997-1998, 2006, 2009-2014 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 <http://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 * | ||
| 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 | ||