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