# HG changeset patch # User Jim Meyering # Date 873166510 0 # Node ID fb37a3fe5a7716a80b2f434ea6e3d6940df22537 # Parent 09246612e1c3f7abf4117b8df3ce799b8f070011 update from libc diff --git a/lib/stpcpy.c b/lib/stpcpy.c --- a/lib/stpcpy.c +++ b/lib/stpcpy.c @@ -1,32 +1,43 @@ -/* 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 Free Software Foundation, Inc. + +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 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. +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. - 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 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, write to the Free Software Foundation, - Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +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. */ -#if HAVE_CONFIG_H -# include +#include + +#ifndef weak_alias +# define __stpcpy stpcpy #endif /* Copy SRC to DEST, returning the address of the terminating '\0' in DEST. */ - char * -stpcpy (dest, src) +__stpcpy (dest, src) 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