summaryrefslogtreecommitdiff
path: root/lib/libc/locale
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@cvs.openbsd.org>2018-04-04 14:53:03 +0000
committerIngo Schwarze <schwarze@cvs.openbsd.org>2018-04-04 14:53:03 +0000
commitfbc3e8c31c418a7cc18e687f64d074630eac3c00 (patch)
treef8f7f75348f5c024357b0ef02252eb88e14057a1 /lib/libc/locale
parent9940151adc0255f221ce42a065ec7c1a518051fa (diff)
Split the useless localeconv(3) function out of the important
setlocale(3) manual page, such that the latter becomes easier to read. No text change.
Diffstat (limited to 'lib/libc/locale')
-rw-r--r--lib/libc/locale/Makefile.inc4
-rw-r--r--lib/libc/locale/localeconv.3188
-rw-r--r--lib/libc/locale/setlocale.3148
3 files changed, 195 insertions, 145 deletions
diff --git a/lib/libc/locale/Makefile.inc b/lib/libc/locale/Makefile.inc
index 253d7827e8b..2f13ffcdcee 100644
--- a/lib/libc/locale/Makefile.inc
+++ b/lib/libc/locale/Makefile.inc
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile.inc,v 1.23 2017/09/05 03:16:13 schwarze Exp $
+# $OpenBSD: Makefile.inc,v 1.24 2018/04/04 14:53:02 schwarze Exp $
# locale sources
.PATH: ${LIBCSRCDIR}/locale
@@ -15,7 +15,7 @@ SRCS+= btowc.c _def_messages.c _def_monetary.c _def_numeric.c _def_time.c \
runeglue.c rune.c runetable.c ___runetype_mb.c \
_wctrans.c wcsxfrm.c wcsxfrm_l.c
-MAN+= nl_langinfo.3 setlocale.3 newlocale.3 uselocale.3 \
+MAN+= nl_langinfo.3 setlocale.3 newlocale.3 uselocale.3 localeconv.3 \
iswalnum.3 towlower.3 \
btowc.3 mblen.3 mbrlen.3 mbrtowc.3 mbsinit.3 mbsrtowcs.3 \
mbstowcs.3 mbtowc.3 wcrtomb.3 wcscoll.3 wcsrtombs.3 wcstod.3 \
diff --git a/lib/libc/locale/localeconv.3 b/lib/libc/locale/localeconv.3
new file mode 100644
index 00000000000..31ec14f6eb3
--- /dev/null
+++ b/lib/libc/locale/localeconv.3
@@ -0,0 +1,188 @@
+.\" $OpenBSD: localeconv.3,v 1.1 2018/04/04 14:53:02 schwarze Exp $
+.\" $NetBSD: setlocale.3,v 1.3 1997/07/14 23:19:47 kleink Exp $
+.\"
+.\" Copyright (c) 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" This code is derived from software contributed to Berkeley by
+.\" Donn Seeley at BSDI.
+.\"
+.\" 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.
+.\" 3. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
+.\"
+.\" @(#)setlocale.3 8.1 (Berkeley) 6/9/93
+.\"
+.Dd $Mdocdate: April 4 2018 $
+.Dt LOCALECONV 3
+.Os
+.Sh NAME
+.Nm localeconv
+.Nd retrieve parameters for locale-dependent formatting of numbers
+.Sh SYNOPSIS
+.In locale.h
+.Ft struct lconv *
+.Fn localeconv "void"
+.Sh DESCRIPTION
+The
+.Fn localeconv
+function returns a pointer to a static structure
+which provides parameters for
+.Xr locale 1 Ns -dependent
+formatting of numbers.
+On
+.Ox ,
+nothing in the returned structure ever changes.
+.Pp
+It provides the following fields of type
+.Vt char * :
+.Bl -tag -width mon_decimal_point
+.It Fa decimal_point
+The decimal point character, except for currency values.
+.It Fa thousands_sep
+The separator between groups of digits
+before the decimal point, except for currency values.
+.It Fa grouping
+The sizes of the groups of digits, except for currency values.
+This is a pointer to a vector of integers, each of size
+.Li char ,
+representing group size from low order digit groups
+to high order (right to left).
+The list may be terminated with 0 or
+.Dv CHAR_MAX .
+If the list is terminated with 0,
+the last group size before the 0 is repeated to account for all the digits.
+If the list is terminated with
+.Dv CHAR_MAX ,
+no more grouping is performed.
+.It Fa int_curr_symbol
+The standardized international currency symbol.
+.It Fa currency_symbol
+The local currency symbol.
+.It Fa mon_decimal_point
+The decimal point character for currency values.
+.It Fa mon_thousands_sep
+The separator for digit groups in currency values.
+.It Fa mon_grouping
+Like
+.Fa grouping
+but for currency values.
+.It Fa positive_sign
+The character used to denote non-negative currency values,
+usually the empty string.
+.It Fa negative_sign
+The character used to denote negative currency values,
+usually a minus sign.
+.El
+.Pp
+It also provides the following fields of type
+.Vt char :
+.Bl -tag -width mon_decimal_point
+.It Fa int_frac_digits
+The number of digits after the decimal point
+in an international-style currency value.
+.It Fa frac_digits
+The number of digits after the decimal point
+in the local style for currency values.
+.It Fa p_cs_precedes
+1 if the currency symbol precedes the currency value
+for non-negative values, 0 if it follows.
+.It Fa p_sep_by_space
+1 if a space is inserted between the currency symbol
+and the currency value for non-negative values, 0 otherwise.
+.It Fa n_cs_precedes
+Like
+.Fa p_cs_precedes
+but for negative values.
+.It Fa n_sep_by_space
+Like
+.Fa p_sep_by_space
+but for negative values.
+.It Fa p_sign_posn
+The location of the
+.Fa positive_sign
+with respect to a non-negative quantity and the
+.Fa currency_symbol ,
+coded as follows:
+.Pp
+.Bl -tag -width 3n -compact
+.It Li 0
+Parentheses around the entire string.
+.It Li 1
+Before the string.
+.It Li 2
+After the string.
+.It Li 3
+Just before
+.Fa currency_symbol .
+.It Li 4
+Just after
+.Fa currency_symbol .
+.El
+.It Fa n_sign_posn
+Like
+.Fa p_sign_posn
+but for negative currency values.
+.It Fa int_p_cs_precedes
+Like
+.Fa p_cs_precedes
+but for the international symbol.
+.It Fa int_n_cs_precedes
+Like
+.Fa n_cs_precedes
+but for the international symbol.
+.It Fa int_p_sep_by_space
+Like
+.Fa p_sep_by_space
+but for the international symbol.
+.It Fa int_n_sep_by_space
+Like
+.Fa n_sep_by_space
+but for the international symbol.
+.It Fa int_p_sign_posn
+Like
+.Fa p_sign_posn
+but for the international symbol.
+.It Fa int_n_sign_posn
+Like
+.Fa n_sign_posn
+but for the international symbol.
+.El
+.Pp
+Unless mentioned above,
+an empty string as a value for a field
+indicates a zero length result or
+a value that is not in the current locale.
+A
+.Dv CHAR_MAX
+result similarly denotes an unavailable value.
+.Sh STANDARDS
+The
+.Fn localeconv
+function conforms to
+.St -ansiC .
+.Sh HISTORY
+The
+.Fn localeconv
+function first appeared in
+.Bx 4.4 .
diff --git a/lib/libc/locale/setlocale.3 b/lib/libc/locale/setlocale.3
index 46d16a6e996..3b292e3b918 100644
--- a/lib/libc/locale/setlocale.3
+++ b/lib/libc/locale/setlocale.3
@@ -1,4 +1,4 @@
-.\" $OpenBSD: setlocale.3,v 1.20 2018/03/22 00:03:24 schwarze Exp $
+.\" $OpenBSD: setlocale.3,v 1.21 2018/04/04 14:53:02 schwarze Exp $
.\" $NetBSD: setlocale.3,v 1.3 1997/07/14 23:19:47 kleink Exp $
.\"
.\" Copyright (c) 1993
@@ -33,19 +33,16 @@
.\"
.\" @(#)setlocale.3 8.1 (Berkeley) 6/9/93
.\"
-.Dd $Mdocdate: March 22 2018 $
+.Dd $Mdocdate: April 4 2018 $
.Dt SETLOCALE 3
.Os
.Sh NAME
-.Nm setlocale ,
-.Nm localeconv
+.Nm setlocale
.Nd select character encoding
.Sh SYNOPSIS
.In locale.h
.Ft char *
.Fn setlocale "int category" "const char *locale"
-.Ft struct lconv *
-.Fn localeconv "void"
.Sh DESCRIPTION
The
.Fn setlocale
@@ -129,137 +126,6 @@ locale.
The only function in the library that sets the locale is
.Fn setlocale ;
the locale is never changed as a side effect of some other routine.
-.Pp
-The
-.Fn localeconv
-function returns a pointer to a static structure
-which provides parameters for formatting numbers.
-On
-.Ox ,
-nothing in the returned structure ever changes.
-.Pp
-It provides the following fields of type
-.Vt char * :
-.Bl -tag -width mon_decimal_point
-.It Fa decimal_point
-The decimal point character, except for currency values.
-.It Fa thousands_sep
-The separator between groups of digits
-before the decimal point, except for currency values.
-.It Fa grouping
-The sizes of the groups of digits, except for currency values.
-This is a pointer to a vector of integers, each of size
-.Li char ,
-representing group size from low order digit groups
-to high order (right to left).
-The list may be terminated with 0 or
-.Dv CHAR_MAX .
-If the list is terminated with 0,
-the last group size before the 0 is repeated to account for all the digits.
-If the list is terminated with
-.Dv CHAR_MAX ,
-no more grouping is performed.
-.It Fa int_curr_symbol
-The standardized international currency symbol.
-.It Fa currency_symbol
-The local currency symbol.
-.It Fa mon_decimal_point
-The decimal point character for currency values.
-.It Fa mon_thousands_sep
-The separator for digit groups in currency values.
-.It Fa mon_grouping
-Like
-.Fa grouping
-but for currency values.
-.It Fa positive_sign
-The character used to denote non-negative currency values,
-usually the empty string.
-.It Fa negative_sign
-The character used to denote negative currency values,
-usually a minus sign.
-.El
-.Pp
-It also provides the following fields of type
-.Vt char :
-.Bl -tag -width mon_decimal_point
-.It Fa int_frac_digits
-The number of digits after the decimal point
-in an international-style currency value.
-.It Fa frac_digits
-The number of digits after the decimal point
-in the local style for currency values.
-.It Fa p_cs_precedes
-1 if the currency symbol precedes the currency value
-for non-negative values, 0 if it follows.
-.It Fa p_sep_by_space
-1 if a space is inserted between the currency symbol
-and the currency value for non-negative values, 0 otherwise.
-.It Fa n_cs_precedes
-Like
-.Fa p_cs_precedes
-but for negative values.
-.It Fa n_sep_by_space
-Like
-.Fa p_sep_by_space
-but for negative values.
-.It Fa p_sign_posn
-The location of the
-.Fa positive_sign
-with respect to a non-negative quantity and the
-.Fa currency_symbol ,
-coded as follows:
-.Pp
-.Bl -tag -width 3n -compact
-.It Li 0
-Parentheses around the entire string.
-.It Li 1
-Before the string.
-.It Li 2
-After the string.
-.It Li 3
-Just before
-.Fa currency_symbol .
-.It Li 4
-Just after
-.Fa currency_symbol .
-.El
-.It Fa n_sign_posn
-Like
-.Fa p_sign_posn
-but for negative currency values.
-.It Fa int_p_cs_precedes
-Like
-.Fa p_cs_precedes
-but for the international symbol.
-.It Fa int_n_cs_precedes
-Like
-.Fa n_cs_precedes
-but for the international symbol.
-.It Fa int_p_sep_by_space
-Like
-.Fa p_sep_by_space
-but for the international symbol.
-.It Fa int_n_sep_by_space
-Like
-.Fa n_sep_by_space
-but for the international symbol.
-.It Fa int_p_sign_posn
-Like
-.Fa p_sign_posn
-but for the international symbol.
-.It Fa int_n_sign_posn
-Like
-.Fa n_sign_posn
-but for the international symbol.
-.El
-.Pp
-Unless mentioned above,
-an empty string as a value for a field
-indicates a zero length result or
-a value that is not in the current locale.
-A
-.Dv CHAR_MAX
-result similarly denotes an unavailable value.
.Sh RETURN VALUES
In case of success,
.Fn setlocale
@@ -327,14 +193,10 @@ right afterwards leaves the locale unchanged and returns
.Sh STANDARDS
The
.Fn setlocale
-and
-.Fn localeconv
-functions conform to
+function conforms to
.St -ansiC .
.Sh HISTORY
The
.Fn setlocale
-and
-.Fn localeconv
-functions first appeared in
+function first appeared in
.Bx 4.4 .