X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;ds=inline;f=lib%2Fstpcpy.c;h=1e70013382e8aef981d952bfaf954085e946f0a3;hb=56093e4d947bcc87bbc05ac3e8645509274f57b4;hp=4a70746bad7b150b9500f77853458eff6f629ed3;hpb=d87c39464604e74f580c7fae835be31a4c125c36;p=gnulib.git
diff --git a/lib/stpcpy.c b/lib/stpcpy.c
index 4a70746ba..1e7001338 100644
--- a/lib/stpcpy.c
+++ b/lib/stpcpy.c
@@ -1,30 +1,48 @@
/* 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 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., 675 Mass Ave, Cambridge, MA 02139, 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.
-/* Copy SOURCE into DEST, stopping after copying the first '\0', and
- return a pointer to the '\0' at the end of DEST;
- in other words, return DEST + strlen (SOURCE). */
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see . */
+#include
+
+#include
+
+#undef __stpcpy
+#ifdef _LIBC
+# undef stpcpy
+#endif
+
+#ifndef weak_alias
+# define __stpcpy stpcpy
+#endif
+
+/* Copy SRC to DEST, returning the address of the terminating '\0' in DEST. */
char *
-stpcpy (dest, source)
- char *dest;
- char *source;
+__stpcpy (char *dest, const char *src)
{
- while ((*dest++ = *source++) != '\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