1/* A POSIX <locale.h>. 2 Copyright (C) 2007-2010 Free Software Foundation, Inc. 3 4 This program is free software: you can redistribute it and/or modify 5 it under the terms of the GNU General Public License as published by 6 the Free Software Foundation; either version 3 of the License, or 7 (at your option) any later version. 8 9 This program is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License 15 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 16 17#ifndef _GL_LOCALE_H 18 19#if __GNUC__ >= 3 20@PRAGMA_SYSTEM_HEADER@ 21#endif 22 23/* The include_next requires a split double-inclusion guard. */ 24#@INCLUDE_NEXT@ @NEXT_LOCALE_H@ 25 26#ifndef _GL_LOCALE_H 27#define _GL_LOCALE_H 28 29/* NetBSD 5.0 mis-defines NULL. */ 30#include <stddef.h> 31 32/* MacOS X 10.5 defines the locale_t type in <xlocale.h>. */ 33#if @HAVE_XLOCALE_H@ 34# include <xlocale.h> 35#endif 36 37/* The definition of GL_LINK_WARNING is copied here. */ 38 39/* The definition of _GL_ARG_NONNULL is copied here. */ 40 41/* The LC_MESSAGES locale category is specified in POSIX, but not in ISO C. 42 On systems that don't define it, use the same value as GNU libintl. */ 43#if !defined LC_MESSAGES 44# define LC_MESSAGES 1729 45#endif 46 47#if @GNULIB_DUPLOCALE@ 48# if @REPLACE_DUPLOCALE@ 49# undef duplocale 50# define duplocale rpl_duplocale 51extern locale_t duplocale (locale_t locale) _GL_ARG_NONNULL ((1)); 52# endif 53#elif defined GNULIB_POSIXCHECK 54# undef duplocale 55# define duplocale(l) \ 56 (GL_LINK_WARNING ("duplocale is buggy on some glibc systems - " \ 57 "use gnulib module duplocale for portability"), \ 58 duplocale (l)) 59#endif 60 61#endif /* _GL_LOCALE_H */ 62#endif /* _GL_LOCALE_H */ 63