update from libc
authorJim Meyering <jim@meyering.net>
Tue, 2 Sep 1997 02:15:10 +0000 (02:15 +0000)
committerJim Meyering <jim@meyering.net>
Tue, 2 Sep 1997 02:15:10 +0000 (02:15 +0000)
lib/stpcpy.c

index 6369661..eea7465 100644 (file)
@@ -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.
 
-    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 2, or (at your option) 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.
 
-#if HAVE_CONFIG_H
-# include <config.h>
+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.  */
+
+#include <string.h>
+
+#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