aboutsummaryrefslogtreecommitdiff
path: root/wcsmbs
diff options
context:
space:
mode:
Diffstat (limited to 'wcsmbs')
-rw-r--r--wcsmbs/wcscat.c21
-rw-r--r--wcsmbs/wcscpy.c10
2 files changed, 8 insertions, 23 deletions
diff --git a/wcsmbs/wcscat.c b/wcsmbs/wcscat.c
index 6a25b20e31..1a9d667fda 100644
--- a/wcsmbs/wcscat.c
+++ b/wcsmbs/wcscat.c
@@ -26,26 +26,7 @@
wchar_t *
__wcscat (wchar_t *dest, const wchar_t *src)
{
- wchar_t *s1 = dest;
- const wchar_t *s2 = src;
- wchar_t c;
-
- /* Find the end of the string. */
- do
- c = *s1++;
- while (c != L'\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 != L'\0');
-
+ __wcscpy (dest + __wcslen (dest), src);
return dest;
}
#ifndef WCSCAT
diff --git a/wcsmbs/wcscpy.c b/wcsmbs/wcscpy.c
index 7a34c77a9e..636bf6bd01 100644
--- a/wcsmbs/wcscpy.c
+++ b/wcsmbs/wcscpy.c
@@ -20,13 +20,13 @@
#include <wchar.h>
-#ifndef WCSCPY
-# define WCSCPY wcscpy
+#ifdef WCSCPY
+# define __wcscpy WCSCPY
#endif
/* Copy SRC to DEST. */
wchar_t *
-WCSCPY (wchar_t *dest, const wchar_t *src)
+__wcscpy (wchar_t *dest, const wchar_t *src)
{
wint_t c;
wchar_t *wcp;
@@ -58,3 +58,7 @@ WCSCPY (wchar_t *dest, const wchar_t *src)
return dest;
}
+#ifndef WCSCPY
+weak_alias (__wcscpy, wcscpy)
+libc_hidden_def (__wcscpy)
+#endif