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