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