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 definitions of _GL_FUNCDECL_RPL etc. are copied here. */ 38 39/* The definition of _GL_ARG_NONNULL is copied here. */ 40 41/* The definition of _GL_WARN_ON_USE is copied here. */ 42 43/* The LC_MESSAGES locale category is specified in POSIX, but not in ISO C. 44 On systems that don't define it, use the same value as GNU libintl. */ 45#if !defined LC_MESSAGES 46# define LC_MESSAGES 1729 47#endif 48 49#if @GNULIB_DUPLOCALE@ 50# if @REPLACE_DUPLOCALE@ 51# if !(defined __cplusplus && defined GNULIB_NAMESPACE) 52# undef duplocale 53# define duplocale rpl_duplocale 54# endif 55_GL_FUNCDECL_RPL (duplocale, locale_t, (locale_t locale) _GL_ARG_NONNULL ((1))); 56_GL_CXXALIAS_RPL (duplocale, locale_t, (locale_t locale)); 57# else 58# if @HAVE_DUPLOCALE@ 59_GL_CXXALIAS_SYS (duplocale, locale_t, (locale_t locale)); 60# endif 61# endif 62# if @HAVE_DUPLOCALE@ 63_GL_CXXALIASWARN (duplocale); 64# endif 65#elif defined GNULIB_POSIXCHECK 66# undef duplocale 67# if HAVE_RAW_DECL_DUPLOCALE 68_GL_WARN_ON_USE (duplocale, "duplocale is buggy on some glibc systems - " 69 "use gnulib module duplocale for portability"); 70# endif 71#endif 72 73#endif /* _GL_LOCALE_H */ 74#endif /* _GL_LOCALE_H */ 75