Basic support for LC_MESSAGES

This commit is contained in:
Andrey A. Chernov 1998-04-29 22:39:56 +00:00
parent 88d16a1b9b
commit 0b5e953b91
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=35523
3 changed files with 15 additions and 13 deletions

View File

@ -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>

View File

@ -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

View File

@ -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);