nl_langinfo.c revision 1.1
1/*
2 * Written by J.T. Conklin <jtc@netbsd.org>.
3 * Public domain.
4 */
5
6#if defined(LIBC_SCCS) && !defined(lint)
7static char *rcsid = "$Id: nl_langinfo.c,v 1.1 1995/10/18 08:42:01 deraadt Exp $";
8#endif /* LIBC_SCCS and not lint */
9
10#include <sys/localedef.h>
11#include <locale.h>
12#include <nl_types.h>
13#include <langinfo.h>
14
15char *
16nl_langinfo(item)
17	nl_item item;
18{
19	const char *s;
20
21	switch (item) {
22	case D_T_FMT:
23		s = _CurrentTimeLocale->d_t_fmt;
24		break;
25	case D_FMT:
26		s = _CurrentTimeLocale->d_fmt;
27		break;
28	case T_FMT:
29		s = _CurrentTimeLocale->t_fmt;
30		break;
31	case T_FMT_AMPM:
32		s = _CurrentTimeLocale->t_fmt_ampm;
33		break;
34	case AM_STR:
35	case PM_STR:
36		s = _CurrentTimeLocale->am_pm[item - AM_STR];
37		break;
38	case DAY_1:
39	case DAY_2:
40	case DAY_3:
41	case DAY_4:
42	case DAY_5:
43	case DAY_6:
44	case DAY_7:
45		s = _CurrentTimeLocale->day[item - DAY_1];
46		break;
47	case ABDAY_1:
48	case ABDAY_2:
49	case ABDAY_3:
50	case ABDAY_4:
51	case ABDAY_5:
52	case ABDAY_6:
53	case ABDAY_7:
54		s = _CurrentTimeLocale->abday[item - ABDAY_1];
55		break;
56	case MON_1:
57	case MON_2:
58	case MON_3:
59	case MON_4:
60	case MON_5:
61	case MON_6:
62	case MON_7:
63	case MON_8:
64	case MON_9:
65	case MON_10:
66	case MON_11:
67	case MON_12:
68		s = _CurrentTimeLocale->mon[item - MON_1];
69		break;
70	case ABMON_1:
71	case ABMON_2:
72	case ABMON_3:
73	case ABMON_4:
74	case ABMON_5:
75	case ABMON_6:
76	case ABMON_7:
77	case ABMON_8:
78	case ABMON_9:
79	case ABMON_10:
80	case ABMON_11:
81	case ABMON_12:
82		s = _CurrentTimeLocale->abmon[item - ABMON_1];
83		break;
84	case RADIXCHAR:
85		s = _CurrentNumericLocale->decimal_point;
86		break;
87	case THOUSEP:
88		s = _CurrentNumericLocale->thousands_sep;
89		break;
90	case YESSTR:
91		s = _CurrentMessagesLocale->yesstr;
92		break;
93	case YESEXPR:
94		s = _CurrentMessagesLocale->yesexpr;
95		break;
96	case NOSTR:
97		s = _CurrentMessagesLocale->nostr;
98		break;
99	case NOEXPR:
100		s = _CurrentMessagesLocale->noexpr;
101		break;
102	case CRNCYSTR:				/* XXX */
103		s = "";
104		break;
105	default:
106		s = "";
107		break;
108	}
109
110	return (char *) s;
111}
112