Home | History | Annotate | Line # | Download | only in locale
nl_langinfo.c revision 1.3
      1 /*
      2  * Written by J.T. Conklin <jtc (at) netbsd.org>.
      3  * Public domain.
      4  */
      5 
      6 #if defined(LIBC_SCCS) && !defined(lint)
      7 static char *rcsid = "$Id: nl_langinfo.c,v 1.3 1995/04/28 23:19:37 jtc 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 
     15 char *
     16 nl_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