diff options
Diffstat (limited to 'lib/libc/string')
| -rw-r--r-- | lib/libc/string/wcscpy.c | 12 | ||||
| -rw-r--r-- | lib/libc/string/wcsncpy.c | 16 |
2 files changed, 11 insertions, 17 deletions
diff --git a/lib/libc/string/wcscpy.c b/lib/libc/string/wcscpy.c index c78a8ab6d63..aabb6d667c1 100644 --- a/lib/libc/string/wcscpy.c +++ b/lib/libc/string/wcscpy.c @@ -1,4 +1,4 @@ -/* $NetBSD: wcscpy.c,v 1.2 2001/01/03 14:29:36 lukem Exp $ */ +/* $NetBSD: wcscpy.c,v 1.3 2005/10/13 21:13:05 tnozaki Exp $ */ /*- * Copyright (c)1999 Citrus Project, @@ -30,7 +30,7 @@ #include <sys/cdefs.h> #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: wcscpy.c,v 1.2 2001/01/03 14:29:36 lukem Exp $"); +__RCSID("$NetBSD: wcscpy.c,v 1.3 2005/10/13 21:13:05 tnozaki Exp $"); #endif /* LIBC_SCCS and not lint */ #include <assert.h> @@ -42,17 +42,11 @@ wcscpy(s1, s2) const wchar_t *s2; { wchar_t *p; - const wchar_t *q; _DIAGASSERT(s1 != NULL); _DIAGASSERT(s2 != NULL); - *s1 = '\0'; - p = s1; - q = s2; - while (*q) - *p++ = *q++; - *p = '\0'; + for (p = s1; (*p = *s2) != L'\0'; ++p, ++s2); return s1; } diff --git a/lib/libc/string/wcsncpy.c b/lib/libc/string/wcsncpy.c index c55c92a3b0e..978ff48a54f 100644 --- a/lib/libc/string/wcsncpy.c +++ b/lib/libc/string/wcsncpy.c @@ -1,4 +1,4 @@ -/* $NetBSD: wcsncpy.c,v 1.2 2001/01/03 14:29:37 lukem Exp $ */ +/* $NetBSD: wcsncpy.c,v 1.3 2005/10/13 21:13:05 tnozaki Exp $ */ /*- * Copyright (c)1999 Citrus Project, @@ -30,7 +30,7 @@ #include <sys/cdefs.h> #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: wcsncpy.c,v 1.2 2001/01/03 14:29:37 lukem Exp $"); +__RCSID("$NetBSD: wcsncpy.c,v 1.3 2005/10/13 21:13:05 tnozaki Exp $"); #endif /* LIBC_SCCS and not lint */ #include <assert.h> @@ -43,19 +43,19 @@ wcsncpy(s1, s2, n) size_t n; { wchar_t *p; - const wchar_t *q; _DIAGASSERT(s1 != NULL); _DIAGASSERT(s2 != NULL); - *s1 = '\0'; p = s1; - q = s2; - while (n && *q) { - *p++ = *q++; + while (n && *s2) { + *p++ = *s2++; + n--; + } + while (n) { + *p++ = L'\0'; n--; } - *p = '\0'; return s1; } |
