X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fstpcpy.c;h=8d7dfb07a9ad840ce26313455ebb1e0adec545aa;hb=4779b635ef35c7b0bc4044fcb5bc746d06f158c4;hp=e7a95a4656a8da2380fffe7d0794a3b1f0af01c0;hpb=6d8337bfc808cddc275899c03482eceb6aff8547;p=gnulib.git diff --git a/lib/stpcpy.c b/lib/stpcpy.c index e7a95a465..8d7dfb07a 100644 --- a/lib/stpcpy.c +++ b/lib/stpcpy.c @@ -1,32 +1,49 @@ /* stpcpy.c -- copy a string and return pointer to end of new string - Copyright (C) 1989, 1990 Free Software Foundation. + Copyright (C) 1992, 1995, 1997-1998, 2006, 2009-2013 Free Software + Foundation, Inc. - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. + NOTE: The canonical source of this file is maintained with the GNU C Library. + Bugs can be reported to bug-glibc@prep.ai.mit.edu. - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 3 of the License, or any + later version. - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ -#ifdef HAVE_CONFIG_H #include + +#include + +#undef __stpcpy +#ifdef _LIBC +# undef stpcpy #endif -/* Copy SRC to DEST, returning the address of the terminating '\0' in DEST. */ +#ifndef weak_alias +# define __stpcpy stpcpy +#endif +/* Copy SRC to DEST, returning the address of the terminating '\0' in DEST. */ char * -stpcpy (dest, src) - char *dest; - const char *src; +__stpcpy (char *dest, const char *src) { - while ((*dest++ = *src++) != '\0') - /* Do nothing. */ ; - return dest - 1; + register char *d = dest; + register const char *s = src; + + do + *d++ = *s; + while (*s++ != '\0'); + + return d - 1; } +#ifdef weak_alias +weak_alias (__stpcpy, stpcpy) +#endif