1 /* stpcpy.c -- copy a string and return pointer to end of new string 2 Copyright (C) 1992, 1995, 1997-1998, 2006, 2009-2012 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 (at) 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 50