Home | History | Annotate | Line # | Download | only in libhack
setlocale.c revision 1.3
      1  1.2     perry /*	$NetBSD: setlocale.c,v 1.3 2000/08/11 19:58:34 tshiozak Exp $	*/
      2  1.2     perry 
      3  1.1       gwr /*
      4  1.1       gwr  * Written by Gordon W. Ross <gwr (at) netbsd.org>
      5  1.1       gwr  * Public domain.
      6  1.1       gwr  */
      7  1.1       gwr 
      8  1.1       gwr #include <sys/localedef.h>
      9  1.3  tshiozak #include <stdlib.h>
     10  1.3  tshiozak #define __SETLOCALE_SOURCE__
     11  1.1       gwr #include <locale.h>
     12  1.1       gwr 
     13  1.1       gwr /*
     14  1.1       gwr  * Cheap and dirty setlocale() that is just good enough to
     15  1.1       gwr  * satisfy references in programs like cat that do:
     16  1.1       gwr  *		setlocale(LC_ALL, "");
     17  1.1       gwr  * Offered with apologies to all non-english speakers...
     18  1.1       gwr  */
     19  1.1       gwr 
     20  1.1       gwr static char current_locale[32] = { "C" };
     21  1.1       gwr 
     22  1.3  tshiozak size_t __mb_cur_max = 1;
     23  1.3  tshiozak 
     24  1.1       gwr char *
     25  1.3  tshiozak __setlocale_mb_len_max_32(category, locale)
     26  1.1       gwr 	int category;
     27  1.1       gwr 	const char *locale;
     28  1.1       gwr {
     29  1.1       gwr 	if (category < 0 || category >= _LC_LAST)
     30  1.1       gwr 		return (NULL);
     31  1.1       gwr 
     32  1.1       gwr 	/* No change of locale is allowed. */
     33  1.1       gwr 	if (locale && locale[0])
     34  1.1       gwr 		return(NULL);
     35  1.1       gwr 
     36  1.1       gwr 	return (current_locale);
     37  1.1       gwr }
     38