Home | History | Annotate | Download | only in lib
      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