Module Name: src Committed By: joerg Date: Wed Apr 17 20:40:13 UTC 2013
Modified Files: src/include: locale.h src/lib/libc/locale: localeconv.c Log Message: Add localeconv_l. To generate a diff of this commit: cvs rdiff -u -r1.18 -r1.19 src/include/locale.h cvs rdiff -u -r1.19 -r1.20 src/lib/libc/locale/localeconv.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/include/locale.h diff -u src/include/locale.h:1.18 src/include/locale.h:1.19 --- src/include/locale.h:1.18 Sun Apr 14 23:30:15 2013 +++ src/include/locale.h Wed Apr 17 20:40:13 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: locale.h,v 1.18 2013/04/14 23:30:15 joerg Exp $ */ +/* $NetBSD: locale.h,v 1.19 2013/04/17 20:40:13 joerg Exp $ */ /* * Copyright (c) 1991, 1993 @@ -75,17 +75,29 @@ struct lconv { #include <sys/cdefs.h> -#ifdef __SETLOCALE_SOURCE__ - -typedef struct _locale *_locale_t; - -#define _LC_GLOBAL_LOCALE ((_locale_t)-1) +#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE) || \ + defined(__SETLOCALE_SOURCE__) +# ifndef __LOCALE_T_DECLARED +typedef struct _locale *locale_t; +# define __LOCALE_T_DECLARED +# endif +#endif +#ifdef __SETLOCALE_SOURCE__ +#define _LC_GLOBAL_LOCALE ((locale_t)-1) #endif __BEGIN_DECLS struct lconv *localeconv(void); char *setlocale(int, const char *) __RENAME(__setlocale50); + +#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE) +# ifndef __LOCALE_T_DECLARED +typedef struct _locale *locale_t; +# define __LOCALE_T_DECLARED +# endif +struct lconv *localeconv_l(locale_t); +#endif __END_DECLS #endif /* _LOCALE_H_ */ Index: src/lib/libc/locale/localeconv.c diff -u src/lib/libc/locale/localeconv.c:1.19 src/lib/libc/locale/localeconv.c:1.20 --- src/lib/libc/locale/localeconv.c:1.19 Sun Jun 24 15:26:03 2012 +++ src/lib/libc/locale/localeconv.c Wed Apr 17 20:40:13 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: localeconv.c,v 1.19 2012/06/24 15:26:03 christos Exp $ */ +/* $NetBSD: localeconv.c,v 1.20 2013/04/17 20:40:13 joerg Exp $ */ /*- * Copyright (c)2008 Citrus Project, @@ -28,7 +28,7 @@ #include <sys/cdefs.h> #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: localeconv.c,v 1.19 2012/06/24 15:26:03 christos Exp $"); +__RCSID("$NetBSD: localeconv.c,v 1.20 2013/04/17 20:40:13 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> @@ -43,3 +43,11 @@ localeconv(void) { return _current_cache()->ldata; } + +struct lconv * +localeconv_l(locale_t loc) +{ + if (loc == NULL) + loc = _C_locale; + return loc->cache->ldata; +}