Home | History | Annotate | Line # | Download | only in locale
nl_langinfo.c revision 1.4
      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