Date: Wed, 4 Mar 2009 06:01:27 +0000 (UTC) From: David Schultz <das@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r189361 - in head: include lib/libc/string Message-ID: <200903040601.n2461RCf033543@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: das Date: Wed Mar 4 06:01:27 2009 New Revision: 189361 URL: http://svn.freebsd.org/changeset/base/189361 Log: Add wcpcpy(3) and wcpncpy(3). Added: head/lib/libc/string/wcpcpy.c (contents, props changed) - copied, changed from r189360, head/lib/libc/string/stpcpy.c head/lib/libc/string/wcpncpy.c (contents, props changed) - copied, changed from r189360, head/lib/libc/string/stpncpy.c Modified: head/include/wchar.h head/lib/libc/string/Makefile.inc head/lib/libc/string/Symbol.map head/lib/libc/string/wmemchr.3 Modified: head/include/wchar.h ============================================================================== --- head/include/wchar.h Wed Mar 4 03:47:57 2009 (r189360) +++ head/include/wchar.h Wed Mar 4 06:01:27 2009 (r189361) @@ -213,6 +213,8 @@ int wcwidth(wchar_t); #if __POSIX_VISIBLE >= 200809 || __BSD_VISIBLE size_t mbsnrtowcs(wchar_t * __restrict, const char ** __restrict, size_t, size_t, mbstate_t * __restrict); +wchar_t *wcpcpy(wchar_t __restrict *, const wchar_t * __restrict); +wchar_t *wcpncpy(wchar_t __restrict *, const wchar_t * __restrict, size_t); wchar_t *wcsdup(const wchar_t *) __malloc_like; int wcscasecmp(const wchar_t *, const wchar_t *); int wcsncasecmp(const wchar_t *, const wchar_t *, size_t n); Modified: head/lib/libc/string/Makefile.inc ============================================================================== --- head/lib/libc/string/Makefile.inc Wed Mar 4 03:47:57 2009 (r189360) +++ head/lib/libc/string/Makefile.inc Wed Mar 4 06:01:27 2009 (r189361) @@ -14,7 +14,7 @@ MISRCS+=bcmp.c bcopy.c bzero.c ffs.c ffs strdup.c strerror.c strlcat.c strlcpy.c strlen.c strmode.c strncat.c \ strncmp.c strncpy.c strndup.c strnlen.c strnstr.c \ strpbrk.c strrchr.c strsep.c strsignal.c strspn.c strstr.c strtok.c \ - strxfrm.c swab.c wcscasecmp.c wcscat.c \ + strxfrm.c swab.c wcpcpy.c wcpncpy.c wcscasecmp.c wcscat.c \ wcschr.c wcscmp.c wcscoll.c wcscpy.c wcscspn.c wcsdup.c \ wcslcat.c wcslcpy.c wcslen.c wcsncasecmp.c wcsncat.c wcsncmp.c \ wcsncpy.c wcsnlen.c wcspbrk.c \ @@ -61,7 +61,9 @@ MLINKS+=strlen.3 strnlen.3 MLINKS+=strstr.3 strcasestr.3 \ strstr.3 strnstr.3 MLINKS+=strtok.3 strtok_r.3 -MLINKS+=wmemchr.3 wcscasecmp.3 \ +MLINKS+=wmemchr.3 wcpcpy.3 \ + wmemchr.3 wcpncpy.3 \ + wmemchr.3 wcscasecmp.3 \ wmemchr.3 wcscat.3 \ wmemchr.3 wcschr.3 \ wmemchr.3 wcscmp.3 \ Modified: head/lib/libc/string/Symbol.map ============================================================================== --- head/lib/libc/string/Symbol.map Wed Mar 4 03:47:57 2009 (r189360) +++ head/lib/libc/string/Symbol.map Wed Mar 4 06:01:27 2009 (r189361) @@ -84,6 +84,8 @@ FBSD_1.1 { stpncpy; strndup; strnlen; + wcpcpy; + wcpncpy; wcscasecmp; wcsncasecmp; wcsnlen; Copied and modified: head/lib/libc/string/wcpcpy.c (from r189360, head/lib/libc/string/stpcpy.c) ============================================================================== --- head/lib/libc/string/stpcpy.c Wed Mar 4 03:47:57 2009 (r189360, copy source) +++ head/lib/libc/string/wcpcpy.c Wed Mar 4 06:01:27 2009 (r189361) @@ -35,10 +35,10 @@ static char sccsid[] = "@(#)strcpy.c 8.1 #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#include <string.h> +#include <wchar.h> -char * -stpcpy(char * __restrict to, const char * __restrict from) +wchar_t * +wcpcpy(wchar_t * __restrict to, const wchar_t * __restrict from) { for (; (*to = *from); ++from, ++to); Copied and modified: head/lib/libc/string/wcpncpy.c (from r189360, head/lib/libc/string/stpncpy.c) ============================================================================== --- head/lib/libc/string/stpncpy.c Wed Mar 4 03:47:57 2009 (r189360, copy source) +++ head/lib/libc/string/wcpncpy.c Wed Mar 4 06:01:27 2009 (r189361) @@ -27,17 +27,17 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#include <string.h> +#include <wchar.h> -char * -stpncpy(char * __restrict dst, const char * __restrict src, size_t n) +wchar_t * +wcpncpy(wchar_t * __restrict dst, const wchar_t * __restrict src, size_t n) { for (; n--; dst++, src++) { if (!(*dst = *src)) { - char *ret = dst; + wchar_t *ret = dst; while (n--) - *++dst = '\0'; + *++dst = L'\0'; return (ret); } } Modified: head/lib/libc/string/wmemchr.3 ============================================================================== --- head/lib/libc/string/wmemchr.3 Wed Mar 4 03:47:57 2009 (r189360) +++ head/lib/libc/string/wmemchr.3 Wed Mar 4 06:01:27 2009 (r189361) @@ -35,7 +35,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 28, 2009 +.Dd March 4, 2009 .Dt WMEMCHR 3 .Os .Sh NAME @@ -44,6 +44,8 @@ .Nm wmemcpy , .Nm wmemmove , .Nm wmemset , +.Nm wcpcpy , +.Nm wcpncpy , .Nm wcscasecmp , .Nm wcscat , .Nm wcschr , @@ -78,6 +80,10 @@ .Fn wmemmove "wchar_t *s1" "const wchar_t *s2" "size_t n" .Ft wchar_t * .Fn wmemset "wchar_t *s" "wchar_t c" "size_t n" +.Ft wchar_t * +.Fn wcpcpy "wchar_t *s1" "wchar_t *s2" +.Ft wchar_t * +.Fn wcpncpy "wchar_t *s1" "wchar_t *s2" "size_t n" .Ft int .Fn wcscasecmp "const wchar_t *s1" "const wchar_t *s2" .Ft wchar_t * @@ -128,6 +134,8 @@ counterpart, such as .Xr memcpy 3 , .Xr memmove 3 , .Xr memset 3 , +.Xr stpcpy 3 , +.Xr stpncpy 3 , .Xr strcasecmp 3 , .Xr strcat 3 , .Xr strchr 3 , @@ -150,6 +158,8 @@ counterpart, such as These functions conform to .St -isoC-99 , with the exception of +.Fn wcpcpy , +.Fn wcpncpy , .Fn wcscasecmp , .Fn wcsdup , .Fn wcsncasecmp ,
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200903040601.n2461RCf033543>