From owner-svn-src-all@FreeBSD.ORG Wed Mar 4 06:01:28 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2E735106566B; Wed, 4 Mar 2009 06:01:28 +0000 (UTC) (envelope-from das@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1299D8FC2D; Wed, 4 Mar 2009 06:01:28 +0000 (UTC) (envelope-from das@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n2461Rbc033549; Wed, 4 Mar 2009 06:01:27 GMT (envelope-from das@svn.freebsd.org) Received: (from das@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n2461RCf033543; Wed, 4 Mar 2009 06:01:27 GMT (envelope-from das@svn.freebsd.org) Message-Id: <200903040601.n2461RCf033543@svn.freebsd.org> From: David Schultz Date: Wed, 4 Mar 2009 06:01:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r189361 - in head: include lib/libc/string X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Mar 2009 06:01:28 -0000 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 __FBSDID("$FreeBSD$"); -#include +#include -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 __FBSDID("$FreeBSD$"); -#include +#include -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 ,