diff options
| author | tnozaki <tnozaki@NetBSD.org> | 2005-10-13 21:13:05 +0000 |
|---|---|---|
| committer | tnozaki <tnozaki@NetBSD.org> | 2005-10-13 21:13:05 +0000 |
| commit | 52d79cc3ed8f18ebd4ca072a34f20194a65076dd (patch) | |
| tree | 33aeacc965a552a2de8900bc8a8513faee81bd4a /lib/libc/string | |
| parent | a520767b2c6f8d9bd56ae787bebc381a1cb8005d (diff) | |
wcscpy - cleanup
wcsncpy - SUSv6 if s2 is shorter than n, s1 should be filled with L'\0' until n.
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; } |
