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