mirror of
https://git.FreeBSD.org/src.git
synced 2024-10-19 02:29:40 +00:00
Basic support for LC_MESSAGES
This commit is contained in:
parent
88d16a1b9b
commit
0b5e953b91
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=35523
@ -67,8 +67,9 @@ struct lconv {
|
||||
#define LC_MONETARY 3
|
||||
#define LC_NUMERIC 4
|
||||
#define LC_TIME 5
|
||||
#define LC_MESSAGES 6
|
||||
|
||||
#define _LC_LAST 6 /* marks end */
|
||||
#define _LC_LAST 7 /* marks end */
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
|
||||
|
@ -88,6 +88,8 @@ alphabetic or non-alphabetic characters,
|
||||
and so on. The real work is done by the
|
||||
.Fn setrunelocale
|
||||
function.
|
||||
.It Dv LC_MESSAGES
|
||||
Set a locale for message catalogs.
|
||||
.It Dv LC_MONETARY
|
||||
Set a locale for formatting monetary values;
|
||||
this affects the
|
||||
|
@ -33,12 +33,12 @@
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Id: setlocale.c,v 1.21 1997/04/07 08:54:35 ache Exp $
|
||||
* $Id: setlocale.c,v 1.22 1998/01/15 09:58:07 jb Exp $
|
||||
*/
|
||||
|
||||
#ifdef LIBC_RCS
|
||||
static const char rcsid[] =
|
||||
"$Id: setlocale.c,v 1.21 1997/04/07 08:54:35 ache Exp $";
|
||||
"$Id: setlocale.c,v 1.22 1998/01/15 09:58:07 jb Exp $";
|
||||
#endif
|
||||
|
||||
#if defined(LIBC_SCCS) && !defined(lint)
|
||||
@ -66,6 +66,7 @@ static char *categories[_LC_LAST] = {
|
||||
"LC_MONETARY",
|
||||
"LC_NUMERIC",
|
||||
"LC_TIME",
|
||||
"LC_MESSAGES",
|
||||
};
|
||||
|
||||
/*
|
||||
@ -78,6 +79,7 @@ static char current_categories[_LC_LAST][ENCODING_LEN + 1] = {
|
||||
"C",
|
||||
"C",
|
||||
"C",
|
||||
"C",
|
||||
};
|
||||
|
||||
/*
|
||||
@ -200,15 +202,10 @@ currentlocale()
|
||||
|
||||
for (i = 2; i < _LC_LAST; ++i)
|
||||
if (strcmp(current_categories[1], current_categories[i])) {
|
||||
(void) strcpy(current_locale_string, current_categories[1]);
|
||||
(void) strcat(current_locale_string, "/");
|
||||
(void) strcat(current_locale_string, current_categories[2]);
|
||||
(void) strcat(current_locale_string, "/");
|
||||
(void) strcat(current_locale_string, current_categories[3]);
|
||||
(void) strcat(current_locale_string, "/");
|
||||
(void) strcat(current_locale_string, current_categories[4]);
|
||||
(void) strcat(current_locale_string, "/");
|
||||
(void) strcat(current_locale_string, current_categories[5]);
|
||||
for (i = 2; i < _LC_LAST; ++i) {
|
||||
(void) strcat(current_locale_string, "/");
|
||||
(void) strcat(current_locale_string, current_categories[i]);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return (current_locale_string);
|
||||
@ -278,7 +275,9 @@ loadlocale(category)
|
||||
return (ret);
|
||||
}
|
||||
|
||||
if (category == LC_MONETARY || category == LC_NUMERIC) {
|
||||
if (category == LC_MONETARY ||
|
||||
category == LC_MESSAGES ||
|
||||
category == LC_NUMERIC) {
|
||||
ret = stub_load_locale(new) ? NULL : new;
|
||||
if (!ret)
|
||||
(void)stub_load_locale(old);
|
||||
|
Loading…
Reference in New Issue
Block a user