Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Aug 2012 13:28:26 +0000 (UTC)
From:      Isabell Long <issyl0@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject:   svn commit: r239833 - stable/9/lib/libc/locale
Message-ID:  <201208291328.q7TDSQ6m051990@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: issyl0 (doc committer)
Date: Wed Aug 29 13:28:25 2012
New Revision: 239833
URL: http://svn.freebsd.org/changeset/base/239833

Log:
  MFC r238781, r238919 from HEAD:
  
    r238781:
      - Add a new man page containing details of new locale-specific functions
        for wctype.h, iswalnum_l(3).  Add it and its functions to the Makefile.
  
    r238919:
      - Add more locale-specific functions to the relevant man pages and
        Makefile:
        - lib/libc/locale/islower.3
        - lib/libc/locale/ispunct.3
        - lib/libc/locale/nl_langinfo.3
        - lib/libc/locale/isgraph.3
        - lib/libc/locale/isspace.3
  
  Approved by:	gjb (mentor)

Added:
  stable/9/lib/libc/locale/iswalnum_l.3
     - copied unchanged from r238781, head/lib/libc/locale/iswalnum_l.3
Modified:
  stable/9/lib/libc/locale/Makefile.inc
  stable/9/lib/libc/locale/isgraph.3
  stable/9/lib/libc/locale/islower.3
  stable/9/lib/libc/locale/ispunct.3
  stable/9/lib/libc/locale/isspace.3
  stable/9/lib/libc/locale/nl_langinfo.3
Directory Properties:
  stable/9/lib/libc/   (props changed)

Modified: stable/9/lib/libc/locale/Makefile.inc
==============================================================================
--- stable/9/lib/libc/locale/Makefile.inc	Wed Aug 29 13:19:27 2012	(r239832)
+++ stable/9/lib/libc/locale/Makefile.inc	Wed Aug 29 13:28:25 2012	(r239833)
@@ -30,7 +30,8 @@ MAN+=	btowc.3 \
 	ctype.3 digittoint.3 isalnum.3 isalpha.3 isascii.3 isblank.3 iscntrl.3 \
 	isdigit.3 isgraph.3 isideogram.3 islower.3 isphonogram.3 isprint.3 \
 	ispunct.3 isrune.3 isspace.3 isspecial.3 \
-	isupper.3 iswalnum.3 isxdigit.3 localeconv.3 mblen.3 mbrlen.3 \
+	isupper.3 iswalnum.3 iswalnum_l.3 isxdigit.3 \
+	localeconv.3 mblen.3 mbrlen.3 \
 	mbrtowc.3 \
 	mbsinit.3 \
 	mbsrtowcs.3 mbstowcs.3 mbtowc.3 multibyte.3 \
@@ -46,6 +47,11 @@ MAN+=	big5.5 euc.5 gb18030.5 gb2312.5 gb
 
 MLINKS+=btowc.3 wctob.3
 MLINKS+=isdigit.3 isnumber.3
+MLINKS+=isgraph.3 isgraph_l.3
+MLINKS+=islower.3 islower_l.3
+MLINKS+=ispunct.3 ispunct_l.3
+MLINKS+=isspace.3 isspace_l.3
+MLINKS+=nl_langinfo.3 nl_langinfo_l.3
 MLINKS+=iswalnum.3 iswalpha.3 iswalnum.3 iswascii.3 iswalnum.3 iswblank.3 \
 	iswalnum.3 iswcntrl.3 iswalnum.3 iswdigit.3 iswalnum.3 iswgraph.3 \
 	iswalnum.3 iswhexnumber.3 \
@@ -53,6 +59,18 @@ MLINKS+=iswalnum.3 iswalpha.3 iswalnum.3
 	iswalnum.3 iswphonogram.3 iswalnum.3 iswprint.3 iswalnum.3 iswpunct.3 \
 	iswalnum.3 iswrune.3 iswalnum.3 iswspace.3 iswalnum.3 iswspecial.3 \
 	iswalnum.3 iswupper.3 iswalnum.3 iswxdigit.3
+MLINKS+=iswalnum_l.3 iswalpha_l.3 iswalnum_l.3 iswcntrl_l.3 \
+	iswalnum_l.3 iswctype_l.3 iswalnum_l.3 iswdigit_l.3 \
+	iswalnum_l.3 iswgraph_l.3 iswalnum_l.3 iswlower_l.3 \
+	iswalnum_l.3 iswprint_l.3 iswalnum_l.3 iswpunct_l.3 \
+	iswalnum_l.3 iswspace_l.3 iswalnum_l.3 iswupper_l.3 \
+	iswalnum_l.3 iswxdigit_l.3 iswalnum_l.3 towlower_l.3 \
+	iswalnum_l.3 towupper_l.3 iswalnum_l.3 wctype_l.3 \
+	iswalnum_l.3 iswblank_l.3 iswalnum_l.3 iswhexnumber_l.3 \
+	iswalnum_l.3 iswideogram_l.3 iswalnum_l.3 iswnumber_l.3 \
+	iswalnum_l.3 iswphonogram_l.3 iswalnum_l.3 iswrune_l.3 \
+	iswalnum_l.3 iswspecial_l.3 iswalnum_l.3 nextwctype_l.3 \
+	iswalnum_l.3 towctrans_l.3 iswalnum_l.3 wctrans_l.3
 MLINKS+=isxdigit.3 ishexnumber.3
 MLINKS+=mbsrtowcs.3 mbsnrtowcs.3
 MLINKS+=wcsrtombs.3 wcsnrtombs.3

Modified: stable/9/lib/libc/locale/isgraph.3
==============================================================================
--- stable/9/lib/libc/locale/isgraph.3	Wed Aug 29 13:19:27 2012	(r239832)
+++ stable/9/lib/libc/locale/isgraph.3	Wed Aug 29 13:28:25 2012	(r239833)
@@ -32,7 +32,7 @@
 .\"     @(#)isgraph.3	8.2 (Berkeley) 12/11/93
 .\" $FreeBSD$
 .\"
-.Dd July 17, 2005
+.Dd July 30, 2012
 .Dt ISGRAPH 3
 .Os
 .Sh NAME
@@ -44,6 +44,8 @@
 .In ctype.h
 .Ft int
 .Fn isgraph "int c"
+.Ft int
+.Fn isgraph_l "int c" "locale_t loc"
 .Sh DESCRIPTION
 The
 .Fn isgraph
@@ -80,11 +82,19 @@ In the ASCII character set, this include
 .It "\&166\ ``v'' \t167\ ``w'' \t170\ ``x'' \t171\ ``y'' \t172\ ``z''"
 .It "\&173\ ``{'' \t174\ ``|'' \t175\ ``}'' \t176\ ``~''"
 .El
+.Pp
+The
+.Fn isgraph_l
+function takes an explicit locale argument, whereas the
+.Fn isgraph
+function uses the current global or per-thread locale.
 .Sh RETURN VALUES
 The
 .Fn isgraph
-function returns zero if the character tests false and
-returns non-zero if the character tests true.
+and
+.Fn isgraph_l
+functions return zero if the character tests false and
+return non-zero if the character tests true.
 .Sh COMPATIBILITY
 The
 .Bx 4.4
@@ -104,3 +114,7 @@ The
 .Fn isgraph
 function conforms to
 .St -isoC .
+The
+.Fn isgraph_l
+function conforms to
+.St -p1003.1-2008 .

Modified: stable/9/lib/libc/locale/islower.3
==============================================================================
--- stable/9/lib/libc/locale/islower.3	Wed Aug 29 13:19:27 2012	(r239832)
+++ stable/9/lib/libc/locale/islower.3	Wed Aug 29 13:28:25 2012	(r239833)
@@ -32,7 +32,7 @@
 .\"     @(#)islower.3	8.1 (Berkeley) 6/4/93
 .\" $FreeBSD$
 .\"
-.Dd July 17, 2005
+.Dd July 30, 2012
 .Dt ISLOWER 3
 .Os
 .Sh NAME
@@ -44,6 +44,8 @@
 .In ctype.h
 .Ft int
 .Fn islower "int c"
+.Ft int
+.Fn islower_l "int c" "locale_t loc"
 .Sh DESCRIPTION
 The
 .Fn islower
@@ -64,11 +66,18 @@ In the ASCII character set, this include
 .It "\&165\ ``u'' \t166\ ``v'' \t167\ ``w'' \t170\ ``x'' \t171\ ``y''"
 .It "\&172\ ``z''"
 .El
+The
+.Fn islower_l
+function takes an explicit locale argument, whereas the
+.Fn islower
+function uses the current global or per-thread locale. 
 .Sh RETURN VALUES
 The
 .Fn islower
-function returns zero if the character tests false and
-returns non-zero if the character tests true.
+and
+.Fn islower_l
+functions return zero if the character tests false and
+return non-zero if the character tests true.
 .Sh COMPATIBILITY
 The
 .Bx 4.4
@@ -89,3 +98,7 @@ The
 .Fn islower
 function conforms to
 .St -isoC .
+The
+.Fn islower_l
+function conforms to
+.St -p1003.1-2008 .

Modified: stable/9/lib/libc/locale/ispunct.3
==============================================================================
--- stable/9/lib/libc/locale/ispunct.3	Wed Aug 29 13:19:27 2012	(r239832)
+++ stable/9/lib/libc/locale/ispunct.3	Wed Aug 29 13:28:25 2012	(r239833)
@@ -32,7 +32,7 @@
 .\"	@(#)ispunct.3	8.1 (Berkeley) 6/4/93
 .\" $FreeBSD$
 .\"
-.Dd July 17, 2005
+.Dd July 30, 2012
 .Dt ISPUNCT 3
 .Os
 .Sh NAME
@@ -44,6 +44,8 @@
 .In ctype.h
 .Ft int
 .Fn ispunct "int c"
+.Ft int
+.Fn ispunct_l "int c" "locale_t loc"
 .Sh DESCRIPTION
 The
 .Fn ispunct
@@ -70,11 +72,19 @@ In the ASCII character set, this include
 .It "\&136\ ``^'' \t137\ ``_'' \t140\ ```'' \t173\ ``{'' \t174\ ``|''"
 .It "\&175\ ``}'' \t176\ ``~''"
 .El
+.Pp
+The
+.Fn ispunct_l
+function takes an explicit locale argument, whereas the
+.Fn ispunct
+function uses the current global or per-thread locale.
 .Sh RETURN VALUES
 The
 .Fn ispunct
-function returns zero if the character tests false and
-returns non-zero if the character tests true.
+and
+.Fn ispunct_l
+functions return zero if the character tests false and
+return non-zero if the character tests true.
 .Sh COMPATIBILITY
 The
 .Bx 4.4
@@ -94,3 +104,7 @@ The
 .Fn ispunct
 function conforms to
 .St -isoC .
+The
+.Fn ispunct_l
+function conforms to
+.St -p1003.1-2008 .

Modified: stable/9/lib/libc/locale/isspace.3
==============================================================================
--- stable/9/lib/libc/locale/isspace.3	Wed Aug 29 13:19:27 2012	(r239832)
+++ stable/9/lib/libc/locale/isspace.3	Wed Aug 29 13:28:25 2012	(r239833)
@@ -32,7 +32,7 @@
 .\"     @(#)isspace.3	8.1 (Berkeley) 6/4/93
 .\" $FreeBSD$
 .\"
-.Dd July 17, 2005
+.Dd July 30, 2012
 .Dt ISSPACE 3
 .Os
 .Sh NAME
@@ -44,6 +44,8 @@
 .In ctype.h
 .Ft int
 .Fn isspace "int c"
+.Ft int
+.Fn isspace_l "int c" "locale_t loc"
 .Sh DESCRIPTION
 The
 .Fn isspace
@@ -61,11 +63,19 @@ The value of the argument must be repres
 .Vt "unsigned char"
 or the value of
 .Dv EOF .
+.Pp
+The
+.Fn isspace_l
+function takes an explicit locale argument, whereas the
+.Fn isspace
+function uses the current global or per-thread locale.
 .Sh RETURN VALUES
 The
 .Fn isspace
-function returns zero if the character tests false and
-returns non-zero if the character tests true.
+and
+.Fn isspace_l
+functions return zero if the character tests false and
+return non-zero if the character tests true.
 .Sh COMPATIBILITY
 The
 .Bx 4.4
@@ -86,3 +96,7 @@ The
 .Fn isspace
 function conforms to
 .St -isoC .
+The
+.Fn isspace_l
+function conforms to
+.St -p1003.1-2008 .

Copied: stable/9/lib/libc/locale/iswalnum_l.3 (from r238781, head/lib/libc/locale/iswalnum_l.3)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/9/lib/libc/locale/iswalnum_l.3	Wed Aug 29 13:28:25 2012	(r239833, copy of r238781, head/lib/libc/locale/iswalnum_l.3)
@@ -0,0 +1,168 @@
+.\" Copyright (c) 2012 Isabell Long <issyl0@FreeBSD.org>
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dt ISWALNUM_L 3
+.Dd July 25, 2012
+.Os
+.Sh NAME
+.Nm iswalnum_l ,
+.Nm iswalpha_l ,
+.Nm iswcntrl_l ,
+.Nm iswctype_l ,
+.Nm iswdigit_l ,
+.Nm iswgraph_l ,
+.Nm iswlower_l ,
+.Nm iswprint_l ,
+.Nm iswpunct_l ,
+.Nm iswspace_l ,
+.Nm iswupper_l ,
+.Nm iswxdigit_l ,
+.Nm towlower_l ,
+.Nm towupper_l ,
+.Nm wctype_l ,
+.Nm iswblank_l ,
+.Nm iswhexnumber_l ,
+.Nm iswideogram_l ,
+.Nm iswnumber_l ,
+.Nm iswphonogram_l ,
+.Nm iswrune_l ,
+.Nm iswspecial_l ,
+.Nm nextwctype_l ,
+.Nm towctrans_l ,
+.Nm wctrans_l
+.Nd wide character classification utilities
+.Sh LIBRARY
+.Lb libc
+.Sh SYNOPSIS
+.In wctype.h
+.Ft int
+.Fn iswalnum_l "wint_t wc" "locale_t loc"
+.Ft int
+.Fn iswalpha_l "wint_t wc" "locale_t loc"
+.Ft int
+.Fn iswcntrl_l "wint_t wc" "locale_t loc"
+.Ft int
+.Fn iswctype_l "wint_t wc" "locale_t loc"
+.Ft int
+.Fn iswdigit_l "wint_t wc" "locale_t loc"
+.Ft int
+.Fn iswgraph_l "wint_t wc" "locale_t loc"
+.Ft int
+.Fn iswlower_l "wint_t wc" "locale_t loc"
+.Ft int
+.Fn iswprint_l "wint_t wc" "locale_t loc"
+.Ft int
+.Fn iswpunct_l "wint_t wc" "locale_t loc"
+.Ft int
+.Fn iswspace_l "wint_t wc" "locale_t loc"
+.Ft int
+.Fn iswupper_l "wint_t wc" "locale_t loc"
+.Ft int
+.Fn iswxdigit_l "wint_t wc" "locale_t loc"
+.Ft wint_t
+.Fn towlower_l "wint_t wc" "locale_t loc"
+.Ft wint_t
+.Fn towupper_l "wint_t wc" "locale_t loc"
+.Ft wctype_t
+.Fn wctype_l "wint_t wc" "locale_t loc"
+.Ft int
+.Fn iswblank_l "wint_t wc" "locale_t loc"
+.Ft int
+.Fn iswhexnumber_l "wint_t wc" "locale_t loc"
+.Ft int
+.Fn iswideogram_l "wint_t wc" "locale_t loc"
+.Ft int
+.Fn iswnumber_l "wint_t wc" "locale_t loc"
+.Ft int
+.Fn iswphonogram_l "wint_t wc" "locale_t loc"
+.Ft int
+.Fn iswrune_l "wint_t wc" "locale_t loc"
+.Ft int
+.Fn iswspecial_l "wint_t wc" "locale_t loc"
+.Ft wint_t
+.Fn nextwctype_l "wint_t wc" "locale_t loc"
+.Ft wint_t
+.Fn towctrans_l "wint_t wc" "wctrans_t" "locale_t loc"
+.Ft wctrans_t
+.Fn wctrans_l "const char *" "locale_t loc"
+.Sh DESCRIPTION
+The above functions are character classification utility functions,
+for use with wide characters
+.Vt ( wchar_t
+or
+.Vt wint_t )
+in the locale
+.Fa loc .
+They behave in the same way as the versions without the _l suffix, but use
+the specified locale rather than the global or per-thread locale.
+These functions may be implemented as inline functions in
+.In wctype.h
+and as functions in the C library.
+See the specific manual pages for more information.
+.Sh RETURN VALUES
+These functions return the same things as their non-locale versions.
+If the locale is invalid, their behaviors are undefined.
+.Sh SEE ALSO
+.Xr iswalnum 3 ,
+.Xr iswalpha 3 ,
+.Xr iswblank 3 ,
+.Xr iswcntrl 3 ,
+.Xr iswctype 3 ,
+.Xr iswdigit 3 ,
+.Xr iswgraph 3 ,
+.Xr iswhexnumber 3 ,
+.Xr iswideogram 3 ,
+.Xr iswlower 3 ,
+.Xr iswnumber 3 ,
+.Xr iswphonogram 3 ,
+.Xr iswprint 3 ,
+.Xr iswpunct 3 ,
+.Xr iswrune 3 ,
+.Xr iswspace 3 ,
+.Xr iswspecial 3 ,
+.Xr iswupper 3 ,
+.Xr iswxdigit 3 ,
+.Xr nextwctype 3 ,
+.Xr towctrans 3 ,
+.Xr towlower 3 ,
+.Xr towupper 3 ,
+.Xr wctrans 3 ,
+.Xr wctype 3
+.Sh STANDARDS
+These functions conform to
+.St -p1003.1-2008 ,
+except for
+.Fn iswascii_l ,
+.Fn iswhexnumber_l ,
+.Fn iswideogram_l ,
+.Fn iswphonogram_l ,
+.Fn iswrune_l ,
+.Fn iswspecial_l
+and 
+.Fn nextwctype_l
+which are
+.Fx
+extensions.

Modified: stable/9/lib/libc/locale/nl_langinfo.3
==============================================================================
--- stable/9/lib/libc/locale/nl_langinfo.3	Wed Aug 29 13:19:27 2012	(r239832)
+++ stable/9/lib/libc/locale/nl_langinfo.3	Wed Aug 29 13:28:25 2012	(r239833)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd May 3, 2001
+.Dd July 30, 2012
 .Dt NL_LANGINFO 3
 .Os
 .Sh NAME
@@ -36,11 +36,16 @@
 .In langinfo.h
 .Ft char *
 .Fn nl_langinfo "nl_item item"
+.Ft char *
+.Fn nl_langinfo_l "nl_item item" "locale_t loc"
 .Sh DESCRIPTION
 The
 .Fn nl_langinfo
 function returns a pointer to a string containing information relevant to
-the particular language or cultural area defined in the program's locale.
+the particular language or cultural area defined in the program or thread's
+locale, or in the case of
+.Fn nl_langinfo_l ,
+the locale passed as the second argument.
 The manifest constant names and values of
 .Fa item
 are defined in
@@ -60,6 +65,9 @@ In a locale where langinfo data is not d
 returns a pointer to the corresponding string in the
 .Tn POSIX
 locale.
+.Fn nl_langinfo_l
+returns the same values as
+.Fn nl_langinfo .
 In all locales,
 .Fn nl_langinfo
 returns a pointer to an empty string if
@@ -83,6 +91,10 @@ The
 .Fn nl_langinfo
 function conforms to
 .St -susv2 .
+The
+.Fn nl_langinfo_l
+function conforms to
+.St -p1003.1-2008 .
 .Sh HISTORY
 The
 .Fn nl_langinfo



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201208291328.q7TDSQ6m051990>