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