X-Git-Url: https://git.saurik.com/apple/libc.git/blobdiff_plain/5b2abdfbf4211b6592cdd02b9507555a0ecbb04b..224c70764cab4e0e39a26aaf3ad3016552f62f55:/locale/setlocale.3 diff --git a/locale/setlocale.3 b/locale/setlocale.3 index b0cdfb6..dcbd333 100644 --- a/locale/setlocale.3 +++ b/locale/setlocale.3 @@ -33,23 +33,23 @@ .\" SUCH DAMAGE. .\" .\" @(#)setlocale.3 8.1 (Berkeley) 6/9/93 -.\" $FreeBSD: src/lib/libc/locale/setlocale.3,v 1.15.2.5 2001/12/14 18:33:55 ru Exp $ +.\" $FreeBSD: src/lib/libc/locale/setlocale.3,v 1.33 2004/10/17 06:51:50 tjr Exp $ .\" -.Dd June 9, 1993 +.Dd November 21, 2003 .Dt SETLOCALE 3 .Os .Sh NAME -.Nm setlocale , -.Nm localeconv +.Nm setlocale .Nd natural language formatting for C .Sh LIBRARY .Lb libc .Sh SYNOPSIS .In locale.h .Ft char * -.Fn setlocale "int category" "const char *locale" -.Ft struct lconv * -.Fn localeconv "void" +.Fo setlocale +.Fa "int category" +.Fa "const char *locale" +.Fc .Sh DESCRIPTION The .Fn setlocale @@ -59,10 +59,6 @@ for particular sets of routines. Each such style is called a .Sq locale and is invoked using an appropriate name passed as a C string. -The -.Fn localeconv -routine returns the current locale's parameters -for formatting numbers. .Pp The .Fn setlocale @@ -80,17 +76,13 @@ and .Fn strxfrm . .It Dv LC_CTYPE Set a locale for the -.Xr ctype 3 , -.Xr mbrune 3 , -.Xr multibyte 3 +.Xr ctype 3 and -.Xr rune 3 +.Xr multibyte 3 functions. This controls recognition of upper and lower case, alphabetic or non-alphabetic characters, -and so on. The real work is done by the -.Fn setrunelocale -function. +and so on. .It Dv LC_MESSAGES Set a locale for message catalogs, see .Xr catopen 3 @@ -116,14 +108,14 @@ Set a locale for formatting dates and times using the function. .El .Pp -Only three locales are defined by default, +Only three locales are defined by default: the empty string .Li "\&""\|"" -which denotes the native environment, and the +(which denotes the native environment) and the .Li "\&""C"" and .Li "\&""POSIX"" -locales, which denote the C language environment. +locales (which denote the C-language environment). A .Fa locale argument of @@ -137,128 +129,13 @@ 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 structure -which provides parameters for formatting numbers, -especially currency values: -.Bd -literal -offset indent -struct lconv { - char *decimal_point; - char *thousands_sep; - char *grouping; - char *int_curr_symbol; - char *currency_symbol; - char *mon_decimal_point; - char *mon_thousands_sep; - char *mon_grouping; - char *positive_sign; - char *negative_sign; - char int_frac_digits; - char frac_digits; - char p_cs_precedes; - char p_sep_by_space; - char n_cs_precedes; - char n_sep_by_space; - char p_sign_posn; - char n_sign_posn; -}; -.Ed -.Pp -The individual fields have the following meanings: -.Pp -.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 -.Va 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 nonnegative currency values, -usually the empty string. -.It Fa negative_sign -The character used to denote negative currency values, -usually a minus sign. -.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 nonnegative 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 nonnegative 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 nonnegative quantity and the -.Fa currency_symbol , -coded as follows: -.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. -.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 +Upon successful completion, +.Fn setlocale +returns the string associated with the specified +.Fa category +for the requested +.Fa locale . The .Fn setlocale function returns @@ -269,13 +146,8 @@ if the given combination of and .Fa locale makes no sense. -The -.Fn localeconv -function returns a pointer to a static object -which may be altered by later calls to -.Fn setlocale -or -.Fn localeconv . +.Sh ERRORS +No errors are defined. .Sh FILES .Bl -tag -width /usr/share/locale/locale/category -compact .It Pa $PATH_LOCALE/ Ns Em locale/category @@ -290,49 +162,20 @@ and the category .Xr mklocale 1 , .Xr catopen 3 , .Xr ctype 3 , -.Xr mbrune 3 , +.Xr localeconv 3 , .Xr multibyte 3 , -.Xr rune 3 , .Xr strcoll 3 , .Xr strxfrm 3 , -.Xr euc 4 , -.Xr utf2 4 +.Xr euc 5 , +.Xr utf8 5 , +.Xr environ 7 .Sh STANDARDS The .Fn setlocale -and -.Fn localeconv -functions conform to -.St -isoC . +function conforms to +.St -isoC-99 . .Sh HISTORY The .Fn setlocale -and -.Fn localeconv -functions first appeared in +function first appeared in .Bx 4.4 . -.Sh BUGS -The current implementation supports only the -.Li "\&""C"" -and -.Li "\&""POSIX"" -locales for all but the -.Dv LC_COLLATE , -.Dv LC_CTYPE , -and -.Dv LC_TIME -categories. -.Pp -In spite of the gnarly currency support in -.Fn localeconv , -the standards don't include any functions -for generalized currency formatting. -.Pp -Use of -.Dv LC_MONETARY -could lead to misleading results until we have a real time currency -conversion function. -.Dv LC_NUMERIC -and -.Dv LC_TIME -are personal choices and should not be wrapped up with the other categories.