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