-/* Copyright (C) 1991, 1997, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2019 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
+ <https://www.gnu.org/licenses/>. */
#include <string.h>
-#include <memcopy.h>
#undef strcat
+#ifndef STRCAT
+# define STRCAT strcat
+#endif
+
/* Append SRC on the end of DEST. */
char *
-strcat (dest, src)
- char *dest;
- const char *src;
+STRCAT (char *dest, const char *src)
{
- char *s1 = dest;
- const char *s2 = src;
- char c;
-
- /* Find the end of the string. */
- do
- c = *s1++;
- while (c != '\0');
-
- /* Make S1 point before the next character, so we can increment
- it while memory is read (wins on pipelined cpus). */
- s1 -= 2;
-
- do
- {
- c = *s2++;
- *++s1 = c;
- }
- while (c != '\0');
-
+ strcpy (dest + strlen (dest), src);
return dest;
}
libc_hidden_builtin_def (strcat)