Simpler version of strtoumax module.
This commit is contained in:
parent
36009a21cb
commit
aaa9355917
15 changed files with 40 additions and 1873 deletions
|
@ -4,12 +4,9 @@
|
|||
This is needed for the new integer-reading code in lread.c.
|
||||
It automatically pulls in the following gnulib files, which
|
||||
are used on old-fashioned platforms that don't have strtoumax:
|
||||
lib/inttypes.in.h, lib/strtoimax.c, lib/strtol.c,
|
||||
lib/strtoll.c, lib/strtoul.c, lib/strtoull.c, lib/strtoumax.c,
|
||||
lib/verify.h, lib/wchar.in.h, m4/inttypes-pri.m4,
|
||||
m4/inttypes.m4, m4/strtoimax.m4, m4/strtol.m4, m4/strtoll.m4,
|
||||
m4/strtoul.m4, m4/strtoull.m4, m4/strtoumax.m4, m4/wchar_h.m4,
|
||||
m4/wint_t.m4.
|
||||
lib/inttypes.in.h, lib/strtoimax.c, lib/strtol.c, lib/strtoul.c,
|
||||
lib/strtoull.c, lib/strtoumax.c, lib/verify.h, m4/inttypes.m4,
|
||||
m4/strtoull.m4, m4/strtoumax.m4.
|
||||
|
||||
2011-04-20 Ken Brown <kbrown@cornell.edu>
|
||||
|
||||
|
|
171
lib/gnulib.mk
171
lib/gnulib.mk
|
@ -9,7 +9,7 @@
|
|||
# the same distribution terms as the rest of that program.
|
||||
#
|
||||
# Generated by gnulib-tool.
|
||||
# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=. --makefile-name=gnulib.mk --no-libtool --macro-prefix=gl --no-vc-files careadlinkat crypto/md5 dtoastr filemode getloadavg getopt-gnu ignore-value intprops lstat mktime readlink socklen stdio strftime strtoumax symlink sys_stat
|
||||
# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=. --makefile-name=gnulib.mk --no-libtool --macro-prefix=gl --no-vc-files careadlinkat crypto/md5 dtoastr filemode getloadavg getopt-gnu ignore-value intprops lstat manywarnings mktime readlink socklen stdio strftime strtoumax symlink sys_stat warnings
|
||||
|
||||
|
||||
MOSTLYCLEANFILES += core *.stackdump
|
||||
|
@ -574,57 +574,12 @@ EXTRA_libgnu_a_SOURCES += strftime.c
|
|||
|
||||
## end gnulib module strftime
|
||||
|
||||
## begin gnulib module strtoimax
|
||||
|
||||
|
||||
EXTRA_DIST += strtoimax.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += strtoimax.c
|
||||
|
||||
## end gnulib module strtoimax
|
||||
|
||||
## begin gnulib module strtol
|
||||
|
||||
|
||||
EXTRA_DIST += strtol.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += strtol.c
|
||||
|
||||
## end gnulib module strtol
|
||||
|
||||
## begin gnulib module strtoll
|
||||
|
||||
|
||||
EXTRA_DIST += strtoll.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += strtoll.c
|
||||
|
||||
## end gnulib module strtoll
|
||||
|
||||
## begin gnulib module strtoul
|
||||
|
||||
|
||||
EXTRA_DIST += strtoul.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += strtoul.c
|
||||
|
||||
## end gnulib module strtoul
|
||||
|
||||
## begin gnulib module strtoull
|
||||
|
||||
|
||||
EXTRA_DIST += strtoull.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += strtoull.c
|
||||
|
||||
## end gnulib module strtoull
|
||||
|
||||
## begin gnulib module strtoumax
|
||||
|
||||
|
||||
EXTRA_DIST += strtoumax.c
|
||||
EXTRA_DIST += strtoimax.c strtol.c strtoul.c strtoull.c strtoumax.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += strtoumax.c
|
||||
EXTRA_libgnu_a_SOURCES += strtoimax.c strtol.c strtoul.c strtoull.c strtoumax.c
|
||||
|
||||
## end gnulib module strtoumax
|
||||
|
||||
|
@ -906,126 +861,6 @@ EXTRA_DIST += $(top_srcdir)/./warn-on-use.h
|
|||
|
||||
## end gnulib module warn-on-use
|
||||
|
||||
## begin gnulib module wchar
|
||||
|
||||
BUILT_SOURCES += wchar.h
|
||||
|
||||
# We need the following in order to create <wchar.h> when the system
|
||||
# version does not work standalone.
|
||||
wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
|
||||
$(AM_V_GEN)rm -f $@-t $@ && \
|
||||
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
||||
sed -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
|
||||
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
||||
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
||||
-e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \
|
||||
-e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
|
||||
-e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
|
||||
-e 's|@''GNULIB_BTOWC''@|$(GNULIB_BTOWC)|g' \
|
||||
-e 's|@''GNULIB_WCTOB''@|$(GNULIB_WCTOB)|g' \
|
||||
-e 's|@''GNULIB_MBSINIT''@|$(GNULIB_MBSINIT)|g' \
|
||||
-e 's|@''GNULIB_MBRTOWC''@|$(GNULIB_MBRTOWC)|g' \
|
||||
-e 's|@''GNULIB_MBRLEN''@|$(GNULIB_MBRLEN)|g' \
|
||||
-e 's|@''GNULIB_MBSRTOWCS''@|$(GNULIB_MBSRTOWCS)|g' \
|
||||
-e 's|@''GNULIB_MBSNRTOWCS''@|$(GNULIB_MBSNRTOWCS)|g' \
|
||||
-e 's|@''GNULIB_WCRTOMB''@|$(GNULIB_WCRTOMB)|g' \
|
||||
-e 's|@''GNULIB_WCSRTOMBS''@|$(GNULIB_WCSRTOMBS)|g' \
|
||||
-e 's|@''GNULIB_WCSNRTOMBS''@|$(GNULIB_WCSNRTOMBS)|g' \
|
||||
-e 's|@''GNULIB_WCWIDTH''@|$(GNULIB_WCWIDTH)|g' \
|
||||
-e 's|@''GNULIB_WMEMCHR''@|$(GNULIB_WMEMCHR)|g' \
|
||||
-e 's|@''GNULIB_WMEMCMP''@|$(GNULIB_WMEMCMP)|g' \
|
||||
-e 's|@''GNULIB_WMEMCPY''@|$(GNULIB_WMEMCPY)|g' \
|
||||
-e 's|@''GNULIB_WMEMMOVE''@|$(GNULIB_WMEMMOVE)|g' \
|
||||
-e 's|@''GNULIB_WMEMSET''@|$(GNULIB_WMEMSET)|g' \
|
||||
-e 's|@''GNULIB_WCSLEN''@|$(GNULIB_WCSLEN)|g' \
|
||||
-e 's|@''GNULIB_WCSNLEN''@|$(GNULIB_WCSNLEN)|g' \
|
||||
-e 's|@''GNULIB_WCSCPY''@|$(GNULIB_WCSCPY)|g' \
|
||||
-e 's|@''GNULIB_WCPCPY''@|$(GNULIB_WCPCPY)|g' \
|
||||
-e 's|@''GNULIB_WCSNCPY''@|$(GNULIB_WCSNCPY)|g' \
|
||||
-e 's|@''GNULIB_WCPNCPY''@|$(GNULIB_WCPNCPY)|g' \
|
||||
-e 's|@''GNULIB_WCSCAT''@|$(GNULIB_WCSCAT)|g' \
|
||||
-e 's|@''GNULIB_WCSNCAT''@|$(GNULIB_WCSNCAT)|g' \
|
||||
-e 's|@''GNULIB_WCSCMP''@|$(GNULIB_WCSCMP)|g' \
|
||||
-e 's|@''GNULIB_WCSNCMP''@|$(GNULIB_WCSNCMP)|g' \
|
||||
-e 's|@''GNULIB_WCSCASECMP''@|$(GNULIB_WCSCASECMP)|g' \
|
||||
-e 's|@''GNULIB_WCSNCASECMP''@|$(GNULIB_WCSNCASECMP)|g' \
|
||||
-e 's|@''GNULIB_WCSCOLL''@|$(GNULIB_WCSCOLL)|g' \
|
||||
-e 's|@''GNULIB_WCSXFRM''@|$(GNULIB_WCSXFRM)|g' \
|
||||
-e 's|@''GNULIB_WCSDUP''@|$(GNULIB_WCSDUP)|g' \
|
||||
-e 's|@''GNULIB_WCSCHR''@|$(GNULIB_WCSCHR)|g' \
|
||||
-e 's|@''GNULIB_WCSRCHR''@|$(GNULIB_WCSRCHR)|g' \
|
||||
-e 's|@''GNULIB_WCSCSPN''@|$(GNULIB_WCSCSPN)|g' \
|
||||
-e 's|@''GNULIB_WCSSPN''@|$(GNULIB_WCSSPN)|g' \
|
||||
-e 's|@''GNULIB_WCSPBRK''@|$(GNULIB_WCSPBRK)|g' \
|
||||
-e 's|@''GNULIB_WCSSTR''@|$(GNULIB_WCSSTR)|g' \
|
||||
-e 's|@''GNULIB_WCSTOK''@|$(GNULIB_WCSTOK)|g' \
|
||||
-e 's|@''GNULIB_WCSWIDTH''@|$(GNULIB_WCSWIDTH)|g' \
|
||||
< $(srcdir)/wchar.in.h | \
|
||||
sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \
|
||||
-e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \
|
||||
-e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \
|
||||
-e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \
|
||||
-e 's|@''HAVE_MBRLEN''@|$(HAVE_MBRLEN)|g' \
|
||||
-e 's|@''HAVE_MBSRTOWCS''@|$(HAVE_MBSRTOWCS)|g' \
|
||||
-e 's|@''HAVE_MBSNRTOWCS''@|$(HAVE_MBSNRTOWCS)|g' \
|
||||
-e 's|@''HAVE_WCRTOMB''@|$(HAVE_WCRTOMB)|g' \
|
||||
-e 's|@''HAVE_WCSRTOMBS''@|$(HAVE_WCSRTOMBS)|g' \
|
||||
-e 's|@''HAVE_WCSNRTOMBS''@|$(HAVE_WCSNRTOMBS)|g' \
|
||||
-e 's|@''HAVE_WMEMCHR''@|$(HAVE_WMEMCHR)|g' \
|
||||
-e 's|@''HAVE_WMEMCMP''@|$(HAVE_WMEMCMP)|g' \
|
||||
-e 's|@''HAVE_WMEMCPY''@|$(HAVE_WMEMCPY)|g' \
|
||||
-e 's|@''HAVE_WMEMMOVE''@|$(HAVE_WMEMMOVE)|g' \
|
||||
-e 's|@''HAVE_WMEMSET''@|$(HAVE_WMEMSET)|g' \
|
||||
-e 's|@''HAVE_WCSLEN''@|$(HAVE_WCSLEN)|g' \
|
||||
-e 's|@''HAVE_WCSNLEN''@|$(HAVE_WCSNLEN)|g' \
|
||||
-e 's|@''HAVE_WCSCPY''@|$(HAVE_WCSCPY)|g' \
|
||||
-e 's|@''HAVE_WCPCPY''@|$(HAVE_WCPCPY)|g' \
|
||||
-e 's|@''HAVE_WCSNCPY''@|$(HAVE_WCSNCPY)|g' \
|
||||
-e 's|@''HAVE_WCPNCPY''@|$(HAVE_WCPNCPY)|g' \
|
||||
-e 's|@''HAVE_WCSCAT''@|$(HAVE_WCSCAT)|g' \
|
||||
-e 's|@''HAVE_WCSNCAT''@|$(HAVE_WCSNCAT)|g' \
|
||||
-e 's|@''HAVE_WCSCMP''@|$(HAVE_WCSCMP)|g' \
|
||||
-e 's|@''HAVE_WCSNCMP''@|$(HAVE_WCSNCMP)|g' \
|
||||
-e 's|@''HAVE_WCSCASECMP''@|$(HAVE_WCSCASECMP)|g' \
|
||||
-e 's|@''HAVE_WCSNCASECMP''@|$(HAVE_WCSNCASECMP)|g' \
|
||||
-e 's|@''HAVE_WCSCOLL''@|$(HAVE_WCSCOLL)|g' \
|
||||
-e 's|@''HAVE_WCSXFRM''@|$(HAVE_WCSXFRM)|g' \
|
||||
-e 's|@''HAVE_WCSDUP''@|$(HAVE_WCSDUP)|g' \
|
||||
-e 's|@''HAVE_WCSCHR''@|$(HAVE_WCSCHR)|g' \
|
||||
-e 's|@''HAVE_WCSRCHR''@|$(HAVE_WCSRCHR)|g' \
|
||||
-e 's|@''HAVE_WCSCSPN''@|$(HAVE_WCSCSPN)|g' \
|
||||
-e 's|@''HAVE_WCSSPN''@|$(HAVE_WCSSPN)|g' \
|
||||
-e 's|@''HAVE_WCSPBRK''@|$(HAVE_WCSPBRK)|g' \
|
||||
-e 's|@''HAVE_WCSSTR''@|$(HAVE_WCSSTR)|g' \
|
||||
-e 's|@''HAVE_WCSTOK''@|$(HAVE_WCSTOK)|g' \
|
||||
-e 's|@''HAVE_WCSWIDTH''@|$(HAVE_WCSWIDTH)|g' \
|
||||
-e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \
|
||||
-e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \
|
||||
| \
|
||||
sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
|
||||
-e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \
|
||||
-e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \
|
||||
-e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \
|
||||
-e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \
|
||||
-e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \
|
||||
-e 's|@''REPLACE_MBSRTOWCS''@|$(REPLACE_MBSRTOWCS)|g' \
|
||||
-e 's|@''REPLACE_MBSNRTOWCS''@|$(REPLACE_MBSNRTOWCS)|g' \
|
||||
-e 's|@''REPLACE_WCRTOMB''@|$(REPLACE_WCRTOMB)|g' \
|
||||
-e 's|@''REPLACE_WCSRTOMBS''@|$(REPLACE_WCSRTOMBS)|g' \
|
||||
-e 's|@''REPLACE_WCSNRTOMBS''@|$(REPLACE_WCSNRTOMBS)|g' \
|
||||
-e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \
|
||||
-e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \
|
||||
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
|
||||
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
|
||||
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
|
||||
} > $@-t && \
|
||||
mv $@-t $@
|
||||
MOSTLYCLEANFILES += wchar.h wchar.h-t
|
||||
|
||||
EXTRA_DIST += wchar.in.h
|
||||
|
||||
## end gnulib module wchar
|
||||
|
||||
|
||||
mostlyclean-local: mostlyclean-generic
|
||||
@for dir in '' $(MOSTLYCLEANDIRS); do \
|
||||
|
|
|
@ -186,9 +186,8 @@
|
|||
# define LOCALE_PARAM_PROTO
|
||||
#endif
|
||||
|
||||
#include <wchar.h>
|
||||
|
||||
#ifdef USE_WIDE_CHAR
|
||||
# include <wchar.h>
|
||||
# include <wctype.h>
|
||||
# define L_(Ch) L##Ch
|
||||
# define UCHAR_TYPE wint_t
|
||||
|
|
|
@ -1,33 +0,0 @@
|
|||
/* Function to parse a `long long int' from text.
|
||||
Copyright (C) 1995-1997, 1999, 2001, 2009-2011 Free Software Foundation,
|
||||
Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
#define QUAD 1
|
||||
|
||||
#include <strtol.c>
|
||||
|
||||
#ifdef _LIBC
|
||||
# ifdef SHARED
|
||||
# include <shlib-compat.h>
|
||||
|
||||
# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
|
||||
compat_symbol (libc, __strtoll_internal, __strtoq_internal, GLIBC_2_0);
|
||||
# endif
|
||||
|
||||
# endif
|
||||
weak_alias (strtoll, strtoq)
|
||||
#endif
|
994
lib/wchar.in.h
994
lib/wchar.in.h
|
@ -1,994 +0,0 @@
|
|||
/* A substitute for ISO C99 <wchar.h>, for platforms that have issues.
|
||||
|
||||
Copyright (C) 2007-2011 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 3, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software Foundation,
|
||||
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||
|
||||
/* Written by Eric Blake. */
|
||||
|
||||
/*
|
||||
* ISO C 99 <wchar.h> for platforms that have issues.
|
||||
* <http://www.opengroup.org/susv3xbd/wchar.h.html>
|
||||
*
|
||||
* For now, this just ensures proper prerequisite inclusion order and
|
||||
* the declaration of wcwidth().
|
||||
*/
|
||||
|
||||
#if __GNUC__ >= 3
|
||||
@PRAGMA_SYSTEM_HEADER@
|
||||
#endif
|
||||
@PRAGMA_COLUMNS@
|
||||
|
||||
#if defined __need_mbstate_t || defined __need_wint_t || (defined __hpux && ((defined _INTTYPES_INCLUDED && !defined strtoimax) || defined _GL_JUST_INCLUDE_SYSTEM_WCHAR_H)) || defined _GL_ALREADY_INCLUDING_WCHAR_H
|
||||
/* Special invocation convention:
|
||||
- Inside glibc and uClibc header files.
|
||||
- On HP-UX 11.00 we have a sequence of nested includes
|
||||
<wchar.h> -> <stdlib.h> -> <stdint.h>, and the latter includes <wchar.h>,
|
||||
once indirectly <stdint.h> -> <sys/types.h> -> <inttypes.h> -> <wchar.h>
|
||||
and once directly. In both situations 'wint_t' is not yet defined,
|
||||
therefore we cannot provide the function overrides; instead include only
|
||||
the system's <wchar.h>.
|
||||
- On IRIX 6.5, similarly, we have an include <wchar.h> -> <wctype.h>, and
|
||||
the latter includes <wchar.h>. But here, we have no way to detect whether
|
||||
<wctype.h> is completely included or is still being included. */
|
||||
|
||||
#@INCLUDE_NEXT@ @NEXT_WCHAR_H@
|
||||
|
||||
#else
|
||||
/* Normal invocation convention. */
|
||||
|
||||
#ifndef _GL_WCHAR_H
|
||||
|
||||
#define _GL_ALREADY_INCLUDING_WCHAR_H
|
||||
|
||||
#if @HAVE_FEATURES_H@
|
||||
# include <features.h> /* for __GLIBC__ */
|
||||
#endif
|
||||
|
||||
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
|
||||
<wchar.h>.
|
||||
BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
|
||||
included before <wchar.h>.
|
||||
In some builds of uClibc, <wchar.h> is nonexistent and wchar_t is defined
|
||||
by <stddef.h>.
|
||||
But avoid namespace pollution on glibc systems. */
|
||||
#if !(defined __GLIBC__ && !defined __UCLIBC__)
|
||||
# include <stddef.h>
|
||||
#endif
|
||||
#ifndef __GLIBC__
|
||||
# include <stdio.h>
|
||||
# include <time.h>
|
||||
#endif
|
||||
|
||||
/* Include the original <wchar.h> if it exists.
|
||||
Some builds of uClibc lack it. */
|
||||
/* The include_next requires a split double-inclusion guard. */
|
||||
#if @HAVE_WCHAR_H@
|
||||
# @INCLUDE_NEXT@ @NEXT_WCHAR_H@
|
||||
#endif
|
||||
|
||||
#undef _GL_ALREADY_INCLUDING_WCHAR_H
|
||||
|
||||
#ifndef _GL_WCHAR_H
|
||||
#define _GL_WCHAR_H
|
||||
|
||||
/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
|
||||
|
||||
/* The definition of _GL_ARG_NONNULL is copied here. */
|
||||
|
||||
/* The definition of _GL_WARN_ON_USE is copied here. */
|
||||
|
||||
|
||||
/* Define wint_t and WEOF. (Also done in wctype.in.h.) */
|
||||
#if !@HAVE_WINT_T@ && !defined wint_t
|
||||
# define wint_t int
|
||||
# ifndef WEOF
|
||||
# define WEOF -1
|
||||
# endif
|
||||
#else
|
||||
# ifndef WEOF
|
||||
# define WEOF ((wint_t) -1)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Override mbstate_t if it is too small.
|
||||
On IRIX 6.5, sizeof (mbstate_t) == 1, which is not sufficient for
|
||||
implementing mbrtowc for encodings like UTF-8. */
|
||||
#if !(@HAVE_MBSINIT@ && @HAVE_MBRTOWC@) || @REPLACE_MBSTATE_T@
|
||||
# if !GNULIB_defined_mbstate_t
|
||||
typedef int rpl_mbstate_t;
|
||||
# undef mbstate_t
|
||||
# define mbstate_t rpl_mbstate_t
|
||||
# define GNULIB_defined_mbstate_t 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Convert a single-byte character to a wide character. */
|
||||
#if @GNULIB_BTOWC@
|
||||
# if @REPLACE_BTOWC@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef btowc
|
||||
# define btowc rpl_btowc
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (btowc, wint_t, (int c));
|
||||
_GL_CXXALIAS_RPL (btowc, wint_t, (int c));
|
||||
# else
|
||||
# if !@HAVE_BTOWC@
|
||||
_GL_FUNCDECL_SYS (btowc, wint_t, (int c));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (btowc, wint_t, (int c));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (btowc);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef btowc
|
||||
# if HAVE_RAW_DECL_BTOWC
|
||||
_GL_WARN_ON_USE (btowc, "btowc is unportable - "
|
||||
"use gnulib module btowc for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Convert a wide character to a single-byte character. */
|
||||
#if @GNULIB_WCTOB@
|
||||
# if @REPLACE_WCTOB@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef wctob
|
||||
# define wctob rpl_wctob
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (wctob, int, (wint_t wc));
|
||||
_GL_CXXALIAS_RPL (wctob, int, (wint_t wc));
|
||||
# else
|
||||
# if !defined wctob && !@HAVE_DECL_WCTOB@
|
||||
/* wctob is provided by gnulib, or wctob exists but is not declared. */
|
||||
_GL_FUNCDECL_SYS (wctob, int, (wint_t wc));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wctob, int, (wint_t wc));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (wctob);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wctob
|
||||
# if HAVE_RAW_DECL_WCTOB
|
||||
_GL_WARN_ON_USE (wctob, "wctob is unportable - "
|
||||
"use gnulib module wctob for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Test whether *PS is in the initial state. */
|
||||
#if @GNULIB_MBSINIT@
|
||||
# if @REPLACE_MBSINIT@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef mbsinit
|
||||
# define mbsinit rpl_mbsinit
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (mbsinit, int, (const mbstate_t *ps));
|
||||
_GL_CXXALIAS_RPL (mbsinit, int, (const mbstate_t *ps));
|
||||
# else
|
||||
# if !@HAVE_MBSINIT@
|
||||
_GL_FUNCDECL_SYS (mbsinit, int, (const mbstate_t *ps));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (mbsinit, int, (const mbstate_t *ps));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (mbsinit);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef mbsinit
|
||||
# if HAVE_RAW_DECL_MBSINIT
|
||||
_GL_WARN_ON_USE (mbsinit, "mbsinit is unportable - "
|
||||
"use gnulib module mbsinit for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Convert a multibyte character to a wide character. */
|
||||
#if @GNULIB_MBRTOWC@
|
||||
# if @REPLACE_MBRTOWC@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef mbrtowc
|
||||
# define mbrtowc rpl_mbrtowc
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (mbrtowc, size_t,
|
||||
(wchar_t *pwc, const char *s, size_t n, mbstate_t *ps));
|
||||
_GL_CXXALIAS_RPL (mbrtowc, size_t,
|
||||
(wchar_t *pwc, const char *s, size_t n, mbstate_t *ps));
|
||||
# else
|
||||
# if !@HAVE_MBRTOWC@
|
||||
_GL_FUNCDECL_SYS (mbrtowc, size_t,
|
||||
(wchar_t *pwc, const char *s, size_t n, mbstate_t *ps));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (mbrtowc, size_t,
|
||||
(wchar_t *pwc, const char *s, size_t n, mbstate_t *ps));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (mbrtowc);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef mbrtowc
|
||||
# if HAVE_RAW_DECL_MBRTOWC
|
||||
_GL_WARN_ON_USE (mbrtowc, "mbrtowc is unportable - "
|
||||
"use gnulib module mbrtowc for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Recognize a multibyte character. */
|
||||
#if @GNULIB_MBRLEN@
|
||||
# if @REPLACE_MBRLEN@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef mbrlen
|
||||
# define mbrlen rpl_mbrlen
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps));
|
||||
_GL_CXXALIAS_RPL (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps));
|
||||
# else
|
||||
# if !@HAVE_MBRLEN@
|
||||
_GL_FUNCDECL_SYS (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (mbrlen, size_t, (const char *s, size_t n, mbstate_t *ps));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (mbrlen);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef mbrlen
|
||||
# if HAVE_RAW_DECL_MBRLEN
|
||||
_GL_WARN_ON_USE (mbrlen, "mbrlen is unportable - "
|
||||
"use gnulib module mbrlen for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Convert a string to a wide string. */
|
||||
#if @GNULIB_MBSRTOWCS@
|
||||
# if @REPLACE_MBSRTOWCS@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef mbsrtowcs
|
||||
# define mbsrtowcs rpl_mbsrtowcs
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (mbsrtowcs, size_t,
|
||||
(wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps)
|
||||
_GL_ARG_NONNULL ((2)));
|
||||
_GL_CXXALIAS_RPL (mbsrtowcs, size_t,
|
||||
(wchar_t *dest, const char **srcp, size_t len,
|
||||
mbstate_t *ps));
|
||||
# else
|
||||
# if !@HAVE_MBSRTOWCS@
|
||||
_GL_FUNCDECL_SYS (mbsrtowcs, size_t,
|
||||
(wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps)
|
||||
_GL_ARG_NONNULL ((2)));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (mbsrtowcs, size_t,
|
||||
(wchar_t *dest, const char **srcp, size_t len,
|
||||
mbstate_t *ps));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (mbsrtowcs);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef mbsrtowcs
|
||||
# if HAVE_RAW_DECL_MBSRTOWCS
|
||||
_GL_WARN_ON_USE (mbsrtowcs, "mbsrtowcs is unportable - "
|
||||
"use gnulib module mbsrtowcs for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Convert a string to a wide string. */
|
||||
#if @GNULIB_MBSNRTOWCS@
|
||||
# if @REPLACE_MBSNRTOWCS@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef mbsnrtowcs
|
||||
# define mbsnrtowcs rpl_mbsnrtowcs
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (mbsnrtowcs, size_t,
|
||||
(wchar_t *dest, const char **srcp, size_t srclen, size_t len,
|
||||
mbstate_t *ps)
|
||||
_GL_ARG_NONNULL ((2)));
|
||||
_GL_CXXALIAS_RPL (mbsnrtowcs, size_t,
|
||||
(wchar_t *dest, const char **srcp, size_t srclen, size_t len,
|
||||
mbstate_t *ps));
|
||||
# else
|
||||
# if !@HAVE_MBSNRTOWCS@
|
||||
_GL_FUNCDECL_SYS (mbsnrtowcs, size_t,
|
||||
(wchar_t *dest, const char **srcp, size_t srclen, size_t len,
|
||||
mbstate_t *ps)
|
||||
_GL_ARG_NONNULL ((2)));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (mbsnrtowcs, size_t,
|
||||
(wchar_t *dest, const char **srcp, size_t srclen, size_t len,
|
||||
mbstate_t *ps));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (mbsnrtowcs);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef mbsnrtowcs
|
||||
# if HAVE_RAW_DECL_MBSNRTOWCS
|
||||
_GL_WARN_ON_USE (mbsnrtowcs, "mbsnrtowcs is unportable - "
|
||||
"use gnulib module mbsnrtowcs for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Convert a wide character to a multibyte character. */
|
||||
#if @GNULIB_WCRTOMB@
|
||||
# if @REPLACE_WCRTOMB@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef wcrtomb
|
||||
# define wcrtomb rpl_wcrtomb
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps));
|
||||
_GL_CXXALIAS_RPL (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps));
|
||||
# else
|
||||
# if !@HAVE_WCRTOMB@
|
||||
_GL_FUNCDECL_SYS (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcrtomb, size_t, (char *s, wchar_t wc, mbstate_t *ps));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (wcrtomb);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcrtomb
|
||||
# if HAVE_RAW_DECL_WCRTOMB
|
||||
_GL_WARN_ON_USE (wcrtomb, "wcrtomb is unportable - "
|
||||
"use gnulib module wcrtomb for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Convert a wide string to a string. */
|
||||
#if @GNULIB_WCSRTOMBS@
|
||||
# if @REPLACE_WCSRTOMBS@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef wcsrtombs
|
||||
# define wcsrtombs rpl_wcsrtombs
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (wcsrtombs, size_t,
|
||||
(char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps)
|
||||
_GL_ARG_NONNULL ((2)));
|
||||
_GL_CXXALIAS_RPL (wcsrtombs, size_t,
|
||||
(char *dest, const wchar_t **srcp, size_t len,
|
||||
mbstate_t *ps));
|
||||
# else
|
||||
# if !@HAVE_WCSRTOMBS@
|
||||
_GL_FUNCDECL_SYS (wcsrtombs, size_t,
|
||||
(char *dest, const wchar_t **srcp, size_t len, mbstate_t *ps)
|
||||
_GL_ARG_NONNULL ((2)));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcsrtombs, size_t,
|
||||
(char *dest, const wchar_t **srcp, size_t len,
|
||||
mbstate_t *ps));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (wcsrtombs);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcsrtombs
|
||||
# if HAVE_RAW_DECL_WCSRTOMBS
|
||||
_GL_WARN_ON_USE (wcsrtombs, "wcsrtombs is unportable - "
|
||||
"use gnulib module wcsrtombs for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Convert a wide string to a string. */
|
||||
#if @GNULIB_WCSNRTOMBS@
|
||||
# if @REPLACE_WCSNRTOMBS@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef wcsnrtombs
|
||||
# define wcsnrtombs rpl_wcsnrtombs
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (wcsnrtombs, size_t,
|
||||
(char *dest, const wchar_t **srcp, size_t srclen, size_t len,
|
||||
mbstate_t *ps)
|
||||
_GL_ARG_NONNULL ((2)));
|
||||
_GL_CXXALIAS_RPL (wcsnrtombs, size_t,
|
||||
(char *dest, const wchar_t **srcp, size_t srclen, size_t len,
|
||||
mbstate_t *ps));
|
||||
# else
|
||||
# if !@HAVE_WCSNRTOMBS@
|
||||
_GL_FUNCDECL_SYS (wcsnrtombs, size_t,
|
||||
(char *dest, const wchar_t **srcp, size_t srclen, size_t len,
|
||||
mbstate_t *ps)
|
||||
_GL_ARG_NONNULL ((2)));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcsnrtombs, size_t,
|
||||
(char *dest, const wchar_t **srcp, size_t srclen, size_t len,
|
||||
mbstate_t *ps));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (wcsnrtombs);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcsnrtombs
|
||||
# if HAVE_RAW_DECL_WCSNRTOMBS
|
||||
_GL_WARN_ON_USE (wcsnrtombs, "wcsnrtombs is unportable - "
|
||||
"use gnulib module wcsnrtombs for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Return the number of screen columns needed for WC. */
|
||||
#if @GNULIB_WCWIDTH@
|
||||
# if @REPLACE_WCWIDTH@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef wcwidth
|
||||
# define wcwidth rpl_wcwidth
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (wcwidth, int, (wchar_t));
|
||||
_GL_CXXALIAS_RPL (wcwidth, int, (wchar_t));
|
||||
# else
|
||||
# if !@HAVE_DECL_WCWIDTH@
|
||||
/* wcwidth exists but is not declared. */
|
||||
_GL_FUNCDECL_SYS (wcwidth, int, (wchar_t));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcwidth, int, (wchar_t));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (wcwidth);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcwidth
|
||||
# if HAVE_RAW_DECL_WCWIDTH
|
||||
_GL_WARN_ON_USE (wcwidth, "wcwidth is unportable - "
|
||||
"use gnulib module wcwidth for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Search N wide characters of S for C. */
|
||||
#if @GNULIB_WMEMCHR@
|
||||
# if !@HAVE_WMEMCHR@
|
||||
_GL_FUNCDECL_SYS (wmemchr, wchar_t *, (const wchar_t *s, wchar_t c, size_t n));
|
||||
# endif
|
||||
/* On some systems, this function is defined as an overloaded function:
|
||||
extern "C++" {
|
||||
const wchar_t * std::wmemchr (const wchar_t *, wchar_t, size_t);
|
||||
wchar_t * std::wmemchr (wchar_t *, wchar_t, size_t);
|
||||
} */
|
||||
_GL_CXXALIAS_SYS_CAST2 (wmemchr,
|
||||
wchar_t *, (const wchar_t *, wchar_t, size_t),
|
||||
const wchar_t *, (const wchar_t *, wchar_t, size_t));
|
||||
# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
|
||||
&& (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
|
||||
_GL_CXXALIASWARN1 (wmemchr, wchar_t *, (wchar_t *s, wchar_t c, size_t n));
|
||||
_GL_CXXALIASWARN1 (wmemchr, const wchar_t *,
|
||||
(const wchar_t *s, wchar_t c, size_t n));
|
||||
# else
|
||||
_GL_CXXALIASWARN (wmemchr);
|
||||
# endif
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wmemchr
|
||||
# if HAVE_RAW_DECL_WMEMCHR
|
||||
_GL_WARN_ON_USE (wmemchr, "wmemchr is unportable - "
|
||||
"use gnulib module wmemchr for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Compare N wide characters of S1 and S2. */
|
||||
#if @GNULIB_WMEMCMP@
|
||||
# if !@HAVE_WMEMCMP@
|
||||
_GL_FUNCDECL_SYS (wmemcmp, int,
|
||||
(const wchar_t *s1, const wchar_t *s2, size_t n));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wmemcmp, int,
|
||||
(const wchar_t *s1, const wchar_t *s2, size_t n));
|
||||
_GL_CXXALIASWARN (wmemcmp);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wmemcmp
|
||||
# if HAVE_RAW_DECL_WMEMCMP
|
||||
_GL_WARN_ON_USE (wmemcmp, "wmemcmp is unportable - "
|
||||
"use gnulib module wmemcmp for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Copy N wide characters of SRC to DEST. */
|
||||
#if @GNULIB_WMEMCPY@
|
||||
# if !@HAVE_WMEMCPY@
|
||||
_GL_FUNCDECL_SYS (wmemcpy, wchar_t *,
|
||||
(wchar_t *dest, const wchar_t *src, size_t n));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wmemcpy, wchar_t *,
|
||||
(wchar_t *dest, const wchar_t *src, size_t n));
|
||||
_GL_CXXALIASWARN (wmemcpy);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wmemcpy
|
||||
# if HAVE_RAW_DECL_WMEMCPY
|
||||
_GL_WARN_ON_USE (wmemcpy, "wmemcpy is unportable - "
|
||||
"use gnulib module wmemcpy for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Copy N wide characters of SRC to DEST, guaranteeing correct behavior for
|
||||
overlapping memory areas. */
|
||||
#if @GNULIB_WMEMMOVE@
|
||||
# if !@HAVE_WMEMMOVE@
|
||||
_GL_FUNCDECL_SYS (wmemmove, wchar_t *,
|
||||
(wchar_t *dest, const wchar_t *src, size_t n));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wmemmove, wchar_t *,
|
||||
(wchar_t *dest, const wchar_t *src, size_t n));
|
||||
_GL_CXXALIASWARN (wmemmove);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wmemmove
|
||||
# if HAVE_RAW_DECL_WMEMMOVE
|
||||
_GL_WARN_ON_USE (wmemmove, "wmemmove is unportable - "
|
||||
"use gnulib module wmemmove for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Set N wide characters of S to C. */
|
||||
#if @GNULIB_WMEMSET@
|
||||
# if !@HAVE_WMEMSET@
|
||||
_GL_FUNCDECL_SYS (wmemset, wchar_t *, (wchar_t *s, wchar_t c, size_t n));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wmemset, wchar_t *, (wchar_t *s, wchar_t c, size_t n));
|
||||
_GL_CXXALIASWARN (wmemset);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wmemset
|
||||
# if HAVE_RAW_DECL_WMEMSET
|
||||
_GL_WARN_ON_USE (wmemset, "wmemset is unportable - "
|
||||
"use gnulib module wmemset for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Return the number of wide characters in S. */
|
||||
#if @GNULIB_WCSLEN@
|
||||
# if !@HAVE_WCSLEN@
|
||||
_GL_FUNCDECL_SYS (wcslen, size_t, (const wchar_t *s));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcslen, size_t, (const wchar_t *s));
|
||||
_GL_CXXALIASWARN (wcslen);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcslen
|
||||
# if HAVE_RAW_DECL_WCSLEN
|
||||
_GL_WARN_ON_USE (wcslen, "wcslen is unportable - "
|
||||
"use gnulib module wcslen for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Return the number of wide characters in S, but at most MAXLEN. */
|
||||
#if @GNULIB_WCSNLEN@
|
||||
# if !@HAVE_WCSNLEN@
|
||||
_GL_FUNCDECL_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen));
|
||||
_GL_CXXALIASWARN (wcsnlen);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcsnlen
|
||||
# if HAVE_RAW_DECL_WCSNLEN
|
||||
_GL_WARN_ON_USE (wcsnlen, "wcsnlen is unportable - "
|
||||
"use gnulib module wcsnlen for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Copy SRC to DEST. */
|
||||
#if @GNULIB_WCSCPY@
|
||||
# if !@HAVE_WCSCPY@
|
||||
_GL_FUNCDECL_SYS (wcscpy, wchar_t *, (wchar_t *dest, const wchar_t *src));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcscpy, wchar_t *, (wchar_t *dest, const wchar_t *src));
|
||||
_GL_CXXALIASWARN (wcscpy);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcscpy
|
||||
# if HAVE_RAW_DECL_WCSCPY
|
||||
_GL_WARN_ON_USE (wcscpy, "wcscpy is unportable - "
|
||||
"use gnulib module wcscpy for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Copy SRC to DEST, returning the address of the terminating L'\0' in DEST. */
|
||||
#if @GNULIB_WCPCPY@
|
||||
# if !@HAVE_WCPCPY@
|
||||
_GL_FUNCDECL_SYS (wcpcpy, wchar_t *, (wchar_t *dest, const wchar_t *src));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcpcpy, wchar_t *, (wchar_t *dest, const wchar_t *src));
|
||||
_GL_CXXALIASWARN (wcpcpy);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcpcpy
|
||||
# if HAVE_RAW_DECL_WCPCPY
|
||||
_GL_WARN_ON_USE (wcpcpy, "wcpcpy is unportable - "
|
||||
"use gnulib module wcpcpy for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Copy no more than N wide characters of SRC to DEST. */
|
||||
#if @GNULIB_WCSNCPY@
|
||||
# if !@HAVE_WCSNCPY@
|
||||
_GL_FUNCDECL_SYS (wcsncpy, wchar_t *,
|
||||
(wchar_t *dest, const wchar_t *src, size_t n));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcsncpy, wchar_t *,
|
||||
(wchar_t *dest, const wchar_t *src, size_t n));
|
||||
_GL_CXXALIASWARN (wcsncpy);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcsncpy
|
||||
# if HAVE_RAW_DECL_WCSNCPY
|
||||
_GL_WARN_ON_USE (wcsncpy, "wcsncpy is unportable - "
|
||||
"use gnulib module wcsncpy for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Copy no more than N characters of SRC to DEST, returning the address of
|
||||
the last character written into DEST. */
|
||||
#if @GNULIB_WCPNCPY@
|
||||
# if !@HAVE_WCPNCPY@
|
||||
_GL_FUNCDECL_SYS (wcpncpy, wchar_t *,
|
||||
(wchar_t *dest, const wchar_t *src, size_t n));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcpncpy, wchar_t *,
|
||||
(wchar_t *dest, const wchar_t *src, size_t n));
|
||||
_GL_CXXALIASWARN (wcpncpy);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcpncpy
|
||||
# if HAVE_RAW_DECL_WCPNCPY
|
||||
_GL_WARN_ON_USE (wcpncpy, "wcpncpy is unportable - "
|
||||
"use gnulib module wcpncpy for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Append SRC onto DEST. */
|
||||
#if @GNULIB_WCSCAT@
|
||||
# if !@HAVE_WCSCAT@
|
||||
_GL_FUNCDECL_SYS (wcscat, wchar_t *, (wchar_t *dest, const wchar_t *src));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcscat, wchar_t *, (wchar_t *dest, const wchar_t *src));
|
||||
_GL_CXXALIASWARN (wcscat);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcscat
|
||||
# if HAVE_RAW_DECL_WCSCAT
|
||||
_GL_WARN_ON_USE (wcscat, "wcscat is unportable - "
|
||||
"use gnulib module wcscat for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Append no more than N wide characters of SRC onto DEST. */
|
||||
#if @GNULIB_WCSNCAT@
|
||||
# if !@HAVE_WCSNCAT@
|
||||
_GL_FUNCDECL_SYS (wcsncat, wchar_t *,
|
||||
(wchar_t *dest, const wchar_t *src, size_t n));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcsncat, wchar_t *,
|
||||
(wchar_t *dest, const wchar_t *src, size_t n));
|
||||
_GL_CXXALIASWARN (wcsncat);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcsncat
|
||||
# if HAVE_RAW_DECL_WCSNCAT
|
||||
_GL_WARN_ON_USE (wcsncat, "wcsncat is unportable - "
|
||||
"use gnulib module wcsncat for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Compare S1 and S2. */
|
||||
#if @GNULIB_WCSCMP@
|
||||
# if !@HAVE_WCSCMP@
|
||||
_GL_FUNCDECL_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2));
|
||||
_GL_CXXALIASWARN (wcscmp);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcscmp
|
||||
# if HAVE_RAW_DECL_WCSCMP
|
||||
_GL_WARN_ON_USE (wcscmp, "wcscmp is unportable - "
|
||||
"use gnulib module wcscmp for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Compare no more than N wide characters of S1 and S2. */
|
||||
#if @GNULIB_WCSNCMP@
|
||||
# if !@HAVE_WCSNCMP@
|
||||
_GL_FUNCDECL_SYS (wcsncmp, int,
|
||||
(const wchar_t *s1, const wchar_t *s2, size_t n));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcsncmp, int,
|
||||
(const wchar_t *s1, const wchar_t *s2, size_t n));
|
||||
_GL_CXXALIASWARN (wcsncmp);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcsncmp
|
||||
# if HAVE_RAW_DECL_WCSNCMP
|
||||
_GL_WARN_ON_USE (wcsncmp, "wcsncmp is unportable - "
|
||||
"use gnulib module wcsncmp for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Compare S1 and S2, ignoring case. */
|
||||
#if @GNULIB_WCSCASECMP@
|
||||
# if !@HAVE_WCSCASECMP@
|
||||
_GL_FUNCDECL_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2));
|
||||
_GL_CXXALIASWARN (wcscasecmp);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcscasecmp
|
||||
# if HAVE_RAW_DECL_WCSCASECMP
|
||||
_GL_WARN_ON_USE (wcscasecmp, "wcscasecmp is unportable - "
|
||||
"use gnulib module wcscasecmp for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Compare no more than N chars of S1 and S2, ignoring case. */
|
||||
#if @GNULIB_WCSNCASECMP@
|
||||
# if !@HAVE_WCSNCASECMP@
|
||||
_GL_FUNCDECL_SYS (wcsncasecmp, int,
|
||||
(const wchar_t *s1, const wchar_t *s2, size_t n));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcsncasecmp, int,
|
||||
(const wchar_t *s1, const wchar_t *s2, size_t n));
|
||||
_GL_CXXALIASWARN (wcsncasecmp);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcsncasecmp
|
||||
# if HAVE_RAW_DECL_WCSNCASECMP
|
||||
_GL_WARN_ON_USE (wcsncasecmp, "wcsncasecmp is unportable - "
|
||||
"use gnulib module wcsncasecmp for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Compare S1 and S2, both interpreted as appropriate to the LC_COLLATE
|
||||
category of the current locale. */
|
||||
#if @GNULIB_WCSCOLL@
|
||||
# if !@HAVE_WCSCOLL@
|
||||
_GL_FUNCDECL_SYS (wcscoll, int, (const wchar_t *s1, const wchar_t *s2));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcscoll, int, (const wchar_t *s1, const wchar_t *s2));
|
||||
_GL_CXXALIASWARN (wcscoll);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcscoll
|
||||
# if HAVE_RAW_DECL_WCSCOLL
|
||||
_GL_WARN_ON_USE (wcscoll, "wcscoll is unportable - "
|
||||
"use gnulib module wcscoll for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Transform S2 into array pointed to by S1 such that if wcscmp is applied
|
||||
to two transformed strings the result is the as applying 'wcscoll' to the
|
||||
original strings. */
|
||||
#if @GNULIB_WCSXFRM@
|
||||
# if !@HAVE_WCSXFRM@
|
||||
_GL_FUNCDECL_SYS (wcsxfrm, size_t, (wchar_t *s1, const wchar_t *s2, size_t n));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcsxfrm, size_t, (wchar_t *s1, const wchar_t *s2, size_t n));
|
||||
_GL_CXXALIASWARN (wcsxfrm);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcsxfrm
|
||||
# if HAVE_RAW_DECL_WCSXFRM
|
||||
_GL_WARN_ON_USE (wcsxfrm, "wcsxfrm is unportable - "
|
||||
"use gnulib module wcsxfrm for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Duplicate S, returning an identical malloc'd string. */
|
||||
#if @GNULIB_WCSDUP@
|
||||
# if !@HAVE_WCSDUP@
|
||||
_GL_FUNCDECL_SYS (wcsdup, wchar_t *, (const wchar_t *s));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcsdup, wchar_t *, (const wchar_t *s));
|
||||
_GL_CXXALIASWARN (wcsdup);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcsdup
|
||||
# if HAVE_RAW_DECL_WCSDUP
|
||||
_GL_WARN_ON_USE (wcsdup, "wcsdup is unportable - "
|
||||
"use gnulib module wcsdup for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Find the first occurrence of WC in WCS. */
|
||||
#if @GNULIB_WCSCHR@
|
||||
# if !@HAVE_WCSCHR@
|
||||
_GL_FUNCDECL_SYS (wcschr, wchar_t *, (const wchar_t *wcs, wchar_t wc));
|
||||
# endif
|
||||
/* On some systems, this function is defined as an overloaded function:
|
||||
extern "C++" {
|
||||
const wchar_t * std::wcschr (const wchar_t *, wchar_t);
|
||||
wchar_t * std::wcschr (wchar_t *, wchar_t);
|
||||
} */
|
||||
_GL_CXXALIAS_SYS_CAST2 (wcschr,
|
||||
wchar_t *, (const wchar_t *, wchar_t),
|
||||
const wchar_t *, (const wchar_t *, wchar_t));
|
||||
# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
|
||||
&& (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
|
||||
_GL_CXXALIASWARN1 (wcschr, wchar_t *, (wchar_t *wcs, wchar_t wc));
|
||||
_GL_CXXALIASWARN1 (wcschr, const wchar_t *, (const wchar_t *wcs, wchar_t wc));
|
||||
# else
|
||||
_GL_CXXALIASWARN (wcschr);
|
||||
# endif
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcschr
|
||||
# if HAVE_RAW_DECL_WCSCHR
|
||||
_GL_WARN_ON_USE (wcschr, "wcschr is unportable - "
|
||||
"use gnulib module wcschr for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Find the last occurrence of WC in WCS. */
|
||||
#if @GNULIB_WCSRCHR@
|
||||
# if !@HAVE_WCSRCHR@
|
||||
_GL_FUNCDECL_SYS (wcsrchr, wchar_t *, (const wchar_t *wcs, wchar_t wc));
|
||||
# endif
|
||||
/* On some systems, this function is defined as an overloaded function:
|
||||
extern "C++" {
|
||||
const wchar_t * std::wcsrchr (const wchar_t *, wchar_t);
|
||||
wchar_t * std::wcsrchr (wchar_t *, wchar_t);
|
||||
} */
|
||||
_GL_CXXALIAS_SYS_CAST2 (wcsrchr,
|
||||
wchar_t *, (const wchar_t *, wchar_t),
|
||||
const wchar_t *, (const wchar_t *, wchar_t));
|
||||
# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
|
||||
&& (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
|
||||
_GL_CXXALIASWARN1 (wcsrchr, wchar_t *, (wchar_t *wcs, wchar_t wc));
|
||||
_GL_CXXALIASWARN1 (wcsrchr, const wchar_t *, (const wchar_t *wcs, wchar_t wc));
|
||||
# else
|
||||
_GL_CXXALIASWARN (wcsrchr);
|
||||
# endif
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcsrchr
|
||||
# if HAVE_RAW_DECL_WCSRCHR
|
||||
_GL_WARN_ON_USE (wcsrchr, "wcsrchr is unportable - "
|
||||
"use gnulib module wcsrchr for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Return the length of the initial segmet of WCS which consists entirely
|
||||
of wide characters not in REJECT. */
|
||||
#if @GNULIB_WCSCSPN@
|
||||
# if !@HAVE_WCSCSPN@
|
||||
_GL_FUNCDECL_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcscspn, size_t, (const wchar_t *wcs, const wchar_t *reject));
|
||||
_GL_CXXALIASWARN (wcscspn);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcscspn
|
||||
# if HAVE_RAW_DECL_WCSCSPN
|
||||
_GL_WARN_ON_USE (wcscspn, "wcscspn is unportable - "
|
||||
"use gnulib module wcscspn for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Return the length of the initial segmet of WCS which consists entirely
|
||||
of wide characters in ACCEPT. */
|
||||
#if @GNULIB_WCSSPN@
|
||||
# if !@HAVE_WCSSPN@
|
||||
_GL_FUNCDECL_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcsspn, size_t, (const wchar_t *wcs, const wchar_t *accept));
|
||||
_GL_CXXALIASWARN (wcsspn);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcsspn
|
||||
# if HAVE_RAW_DECL_WCSSPN
|
||||
_GL_WARN_ON_USE (wcsspn, "wcsspn is unportable - "
|
||||
"use gnulib module wcsspn for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Find the first occurrence in WCS of any character in ACCEPT. */
|
||||
#if @GNULIB_WCSPBRK@
|
||||
# if !@HAVE_WCSPBRK@
|
||||
_GL_FUNCDECL_SYS (wcspbrk, wchar_t *,
|
||||
(const wchar_t *wcs, const wchar_t *accept));
|
||||
# endif
|
||||
/* On some systems, this function is defined as an overloaded function:
|
||||
extern "C++" {
|
||||
const wchar_t * std::wcspbrk (const wchar_t *, const wchar_t *);
|
||||
wchar_t * std::wcspbrk (wchar_t *, const wchar_t *);
|
||||
} */
|
||||
_GL_CXXALIAS_SYS_CAST2 (wcspbrk,
|
||||
wchar_t *, (const wchar_t *, const wchar_t *),
|
||||
const wchar_t *, (const wchar_t *, const wchar_t *));
|
||||
# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
|
||||
&& (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
|
||||
_GL_CXXALIASWARN1 (wcspbrk, wchar_t *,
|
||||
(wchar_t *wcs, const wchar_t *accept));
|
||||
_GL_CXXALIASWARN1 (wcspbrk, const wchar_t *,
|
||||
(const wchar_t *wcs, const wchar_t *accept));
|
||||
# else
|
||||
_GL_CXXALIASWARN (wcspbrk);
|
||||
# endif
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcspbrk
|
||||
# if HAVE_RAW_DECL_WCSPBRK
|
||||
_GL_WARN_ON_USE (wcspbrk, "wcspbrk is unportable - "
|
||||
"use gnulib module wcspbrk for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Find the first occurrence of NEEDLE in HAYSTACK. */
|
||||
#if @GNULIB_WCSSTR@
|
||||
# if !@HAVE_WCSSTR@
|
||||
_GL_FUNCDECL_SYS (wcsstr, wchar_t *,
|
||||
(const wchar_t *haystack, const wchar_t *needle));
|
||||
# endif
|
||||
/* On some systems, this function is defined as an overloaded function:
|
||||
extern "C++" {
|
||||
const wchar_t * std::wcsstr (const wchar_t *, const wchar_t *);
|
||||
wchar_t * std::wcsstr (wchar_t *, const wchar_t *);
|
||||
} */
|
||||
_GL_CXXALIAS_SYS_CAST2 (wcsstr,
|
||||
wchar_t *, (const wchar_t *, const wchar_t *),
|
||||
const wchar_t *, (const wchar_t *, const wchar_t *));
|
||||
# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \
|
||||
&& (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
|
||||
_GL_CXXALIASWARN1 (wcsstr, wchar_t *,
|
||||
(wchar_t *haystack, const wchar_t *needle));
|
||||
_GL_CXXALIASWARN1 (wcsstr, const wchar_t *,
|
||||
(const wchar_t *haystack, const wchar_t *needle));
|
||||
# else
|
||||
_GL_CXXALIASWARN (wcsstr);
|
||||
# endif
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcsstr
|
||||
# if HAVE_RAW_DECL_WCSSTR
|
||||
_GL_WARN_ON_USE (wcsstr, "wcsstr is unportable - "
|
||||
"use gnulib module wcsstr for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Divide WCS into tokens separated by characters in DELIM. */
|
||||
#if @GNULIB_WCSTOK@
|
||||
# if !@HAVE_WCSTOK@
|
||||
_GL_FUNCDECL_SYS (wcstok, wchar_t *,
|
||||
(wchar_t *wcs, const wchar_t *delim, wchar_t **ptr));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcstok, wchar_t *,
|
||||
(wchar_t *wcs, const wchar_t *delim, wchar_t **ptr));
|
||||
_GL_CXXALIASWARN (wcstok);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcstok
|
||||
# if HAVE_RAW_DECL_WCSTOK
|
||||
_GL_WARN_ON_USE (wcstok, "wcstok is unportable - "
|
||||
"use gnulib module wcstok for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
/* Determine number of column positions required for first N wide
|
||||
characters (or fewer if S ends before this) in S. */
|
||||
#if @GNULIB_WCSWIDTH@
|
||||
# if @REPLACE_WCSWIDTH@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef wcswidth
|
||||
# define wcswidth rpl_wcswidth
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (wcswidth, int, (const wchar_t *s, size_t n));
|
||||
_GL_CXXALIAS_RPL (wcswidth, int, (const wchar_t *s, size_t n));
|
||||
# else
|
||||
# if !@HAVE_WCSWIDTH@
|
||||
_GL_FUNCDECL_SYS (wcswidth, int, (const wchar_t *s, size_t n));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (wcswidth, int, (const wchar_t *s, size_t n));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (wcswidth);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef wcswidth
|
||||
# if HAVE_RAW_DECL_WCSWIDTH
|
||||
_GL_WARN_ON_USE (wcswidth, "wcswidth is unportable - "
|
||||
"use gnulib module wcswidth for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* _GL_WCHAR_H */
|
||||
#endif /* _GL_WCHAR_H */
|
||||
#endif
|
|
@ -45,6 +45,7 @@ AC_DEFUN([gl_EARLY],
|
|||
# Code from module intprops:
|
||||
# Code from module inttypes:
|
||||
# Code from module lstat:
|
||||
# Code from module manywarnings:
|
||||
# Code from module mktime:
|
||||
# Code from module multiarch:
|
||||
# Code from module readlink:
|
||||
|
@ -57,11 +58,6 @@ AC_DEFUN([gl_EARLY],
|
|||
# Code from module stdio:
|
||||
# Code from module stdlib:
|
||||
# Code from module strftime:
|
||||
# Code from module strtoimax:
|
||||
# Code from module strtol:
|
||||
# Code from module strtoll:
|
||||
# Code from module strtoul:
|
||||
# Code from module strtoull:
|
||||
# Code from module strtoumax:
|
||||
# Code from module symlink:
|
||||
# Code from module sys_stat:
|
||||
|
@ -70,7 +66,7 @@ AC_DEFUN([gl_EARLY],
|
|||
# Code from module unistd:
|
||||
# Code from module verify:
|
||||
# Code from module warn-on-use:
|
||||
# Code from module wchar:
|
||||
# Code from module warnings:
|
||||
])
|
||||
|
||||
# This macro should be invoked from ./configure.in, in the section
|
||||
|
@ -122,6 +118,7 @@ AC_DEFUN([gl_INIT],
|
|||
# Code from module lstat:
|
||||
gl_FUNC_LSTAT
|
||||
gl_SYS_STAT_MODULE_INDICATOR([lstat])
|
||||
# Code from module manywarnings:
|
||||
# Code from module mktime:
|
||||
gl_FUNC_MKTIME
|
||||
gl_TIME_MODULE_INDICATOR([mktime])
|
||||
|
@ -149,19 +146,6 @@ AC_DEFUN([gl_INIT],
|
|||
gl_STDLIB_H
|
||||
# Code from module strftime:
|
||||
gl_FUNC_GNU_STRFTIME
|
||||
# Code from module strtoimax:
|
||||
gl_FUNC_STRTOIMAX
|
||||
gl_INTTYPES_MODULE_INDICATOR([strtoimax])
|
||||
# Code from module strtol:
|
||||
gl_FUNC_STRTOL
|
||||
# Code from module strtoll:
|
||||
gl_FUNC_STRTOLL
|
||||
gl_STDLIB_MODULE_INDICATOR([strtoll])
|
||||
# Code from module strtoul:
|
||||
gl_FUNC_STRTOUL
|
||||
# Code from module strtoull:
|
||||
gl_FUNC_STRTOULL
|
||||
gl_STDLIB_MODULE_INDICATOR([strtoull])
|
||||
# Code from module strtoumax:
|
||||
gl_FUNC_STRTOUMAX
|
||||
gl_INTTYPES_MODULE_INDICATOR([strtoumax])
|
||||
|
@ -180,8 +164,8 @@ AC_DEFUN([gl_INIT],
|
|||
gl_UNISTD_H
|
||||
# Code from module verify:
|
||||
# Code from module warn-on-use:
|
||||
# Code from module wchar:
|
||||
gl_WCHAR_H
|
||||
# Code from module warnings:
|
||||
AC_SUBST([WARN_CFLAGS])
|
||||
# End of code from modules
|
||||
m4_ifval(gl_LIBSOURCES_LIST, [
|
||||
m4_syscmd([test ! -d ]m4_defn([gl_LIBSOURCES_DIR])[ ||
|
||||
|
@ -360,7 +344,6 @@ AC_DEFUN([gl_FILE_LIST], [
|
|||
lib/strftime.h
|
||||
lib/strtoimax.c
|
||||
lib/strtol.c
|
||||
lib/strtoll.c
|
||||
lib/strtoul.c
|
||||
lib/strtoull.c
|
||||
lib/strtoumax.c
|
||||
|
@ -370,7 +353,6 @@ AC_DEFUN([gl_FILE_LIST], [
|
|||
lib/time_r.c
|
||||
lib/unistd.in.h
|
||||
lib/verify.h
|
||||
lib/wchar.in.h
|
||||
m4/00gnulib.m4
|
||||
m4/c-strtod.m4
|
||||
m4/extensions.m4
|
||||
|
@ -379,10 +361,10 @@ AC_DEFUN([gl_FILE_LIST], [
|
|||
m4/getopt.m4
|
||||
m4/gnulib-common.m4
|
||||
m4/include_next.m4
|
||||
m4/inttypes-pri.m4
|
||||
m4/inttypes.m4
|
||||
m4/longlong.m4
|
||||
m4/lstat.m4
|
||||
m4/manywarnings.m4
|
||||
m4/md5.m4
|
||||
m4/mktime.m4
|
||||
m4/multiarch.m4
|
||||
|
@ -397,10 +379,6 @@ AC_DEFUN([gl_FILE_LIST], [
|
|||
m4/stdio_h.m4
|
||||
m4/stdlib_h.m4
|
||||
m4/strftime.m4
|
||||
m4/strtoimax.m4
|
||||
m4/strtol.m4
|
||||
m4/strtoll.m4
|
||||
m4/strtoul.m4
|
||||
m4/strtoull.m4
|
||||
m4/strtoumax.m4
|
||||
m4/symlink.m4
|
||||
|
@ -410,7 +388,6 @@ AC_DEFUN([gl_FILE_LIST], [
|
|||
m4/tm_gmtoff.m4
|
||||
m4/unistd_h.m4
|
||||
m4/warn-on-use.m4
|
||||
m4/wchar_h.m4
|
||||
m4/warnings.m4
|
||||
m4/wchar_t.m4
|
||||
m4/wint_t.m4
|
||||
])
|
||||
|
|
|
@ -1,42 +0,0 @@
|
|||
# inttypes-pri.m4 serial 7 (gettext-0.18.2)
|
||||
dnl Copyright (C) 1997-2002, 2006, 2008-2011 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl From Bruno Haible.
|
||||
|
||||
AC_PREREQ([2.53])
|
||||
|
||||
# Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
|
||||
# macros to non-string values. This is the case on AIX 4.3.3.
|
||||
|
||||
AC_DEFUN([gt_INTTYPES_PRI],
|
||||
[
|
||||
AC_CHECK_HEADERS([inttypes.h])
|
||||
if test $ac_cv_header_inttypes_h = yes; then
|
||||
AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
|
||||
[gt_cv_inttypes_pri_broken],
|
||||
[
|
||||
AC_COMPILE_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[
|
||||
#include <inttypes.h>
|
||||
#ifdef PRId32
|
||||
char *p = PRId32;
|
||||
#endif
|
||||
]],
|
||||
[[]])],
|
||||
[gt_cv_inttypes_pri_broken=no],
|
||||
[gt_cv_inttypes_pri_broken=yes])
|
||||
])
|
||||
fi
|
||||
if test "$gt_cv_inttypes_pri_broken" = yes; then
|
||||
AC_DEFINE_UNQUOTED([PRI_MACROS_BROKEN], [1],
|
||||
[Define if <inttypes.h> exists and defines unusable PRI* macros.])
|
||||
PRI_MACROS_BROKEN=1
|
||||
else
|
||||
PRI_MACROS_BROKEN=0
|
||||
fi
|
||||
AC_SUBST([PRI_MACROS_BROKEN])
|
||||
])
|
250
m4/inttypes.m4
250
m4/inttypes.m4
|
@ -1,4 +1,4 @@
|
|||
# inttypes.m4 serial 18
|
||||
# inttypes.m4 serial 19
|
||||
dnl Copyright (C) 2006-2011 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -10,138 +10,11 @@ dnl Test whether <inttypes.h> is supported or must be substituted.
|
|||
AC_DEFUN([gl_INTTYPES_H],
|
||||
[
|
||||
AC_REQUIRE([gl_STDINT_H])
|
||||
AC_REQUIRE([gt_INTTYPES_PRI])
|
||||
AC_CHECK_HEADERS_ONCE([inttypes.h])
|
||||
AC_CHECK_DECLS_ONCE([imaxabs])
|
||||
AC_CHECK_DECLS_ONCE([imaxdiv])
|
||||
AC_CHECK_DECLS_ONCE([strtoimax])
|
||||
AC_CHECK_DECLS_ONCE([strtoumax])
|
||||
|
||||
dnl Now see if we need a substitute <inttypes.h>.
|
||||
dnl A complete <inttypes.h> requires
|
||||
dnl - a complete <stdint.h>,
|
||||
dnl - the existence of an <inttypes.h>,
|
||||
dnl - that imaxabs, imaxdiv, strtoimax, strtoumax are declared,
|
||||
dnl - some additional tests.
|
||||
AC_CACHE_CHECK([whether inttypes.h conforms to C99],
|
||||
[gl_cv_header_working_inttypes_h],
|
||||
[gl_cv_header_working_inttypes_h=no
|
||||
if test "$gl_cv_header_working_stdint_h" = yes \
|
||||
&& test $ac_cv_header_inttypes_h = yes \
|
||||
&& test "$ac_cv_have_decl_imaxabs" = yes \
|
||||
&& test "$ac_cv_have_decl_imaxdiv" = yes \
|
||||
&& test "$ac_cv_have_decl_strtoimax" = yes \
|
||||
&& test "$ac_cv_have_decl_strtoumax" = yes; then
|
||||
AC_COMPILE_IFELSE([
|
||||
AC_LANG_PROGRAM([[
|
||||
#include <stddef.h>
|
||||
#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
|
||||
#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
|
||||
#define __STDC_FORMAT_MACROS 1 /* to make it work also in C++ mode */
|
||||
#define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H /* work if build isn't clean */
|
||||
#include <inttypes.h>
|
||||
|
||||
/* No need to duplicate the tests of stdint.m4; they are subsumed by
|
||||
$gl_cv_header_working_stdint_h = yes. */
|
||||
|
||||
/* Tests for macros supposed to be defined in inttypes.h. */
|
||||
|
||||
const char *k = /* implicit string concatenation */
|
||||
#ifdef INT8_MAX
|
||||
PRId8 PRIi8
|
||||
#endif
|
||||
#ifdef UINT8_MAX
|
||||
PRIo8 PRIu8 PRIx8 PRIX8
|
||||
#endif
|
||||
#ifdef INT16_MAX
|
||||
PRId16 PRIi16
|
||||
#endif
|
||||
#ifdef UINT16_MAX
|
||||
PRIo16 PRIu16 PRIx16 PRIX16
|
||||
#endif
|
||||
#ifdef INT32_MAX
|
||||
PRId32 PRIi32
|
||||
#endif
|
||||
#ifdef UINT32_MAX
|
||||
PRIo32 PRIu32 PRIx32 PRIX32
|
||||
#endif
|
||||
#ifdef INT64_MAX
|
||||
PRId64 PRIi64
|
||||
#endif
|
||||
#ifdef UINT64_MAX
|
||||
PRIo64 PRIu64 PRIx64 PRIX64
|
||||
#endif
|
||||
PRIdLEAST8 PRIiLEAST8 PRIoLEAST8 PRIuLEAST8 PRIxLEAST8 PRIXLEAST8
|
||||
PRIdLEAST16 PRIiLEAST16 PRIoLEAST16 PRIuLEAST16 PRIxLEAST16 PRIXLEAST16
|
||||
PRIdLEAST32 PRIiLEAST32 PRIoLEAST32 PRIuLEAST32 PRIxLEAST32 PRIXLEAST32
|
||||
PRIdLEAST64 PRIiLEAST64
|
||||
PRIoLEAST64 PRIuLEAST64 PRIxLEAST64 PRIXLEAST64
|
||||
PRIdFAST8 PRIiFAST8 PRIoFAST8 PRIuFAST8 PRIxFAST8 PRIXFAST8
|
||||
PRIdFAST16 PRIiFAST16 PRIoFAST16 PRIuFAST16 PRIxFAST16 PRIXFAST16
|
||||
PRIdFAST32 PRIiFAST32 PRIoFAST32 PRIuFAST32 PRIxFAST32 PRIXFAST32
|
||||
PRIdFAST64 PRIiFAST64
|
||||
PRIoFAST64 PRIuFAST64 PRIxFAST64 PRIXFAST64
|
||||
PRIdMAX PRIiMAX PRIoMAX PRIuMAX PRIxMAX PRIXMAX
|
||||
#ifdef INTPTR_MAX
|
||||
PRIdPTR PRIiPTR
|
||||
#endif
|
||||
#ifdef UINTPTR_MAX
|
||||
PRIoPTR PRIuPTR PRIxPTR PRIXPTR
|
||||
#endif
|
||||
;
|
||||
const char *l = /* implicit string concatenation */
|
||||
#ifdef INT8_MAX
|
||||
SCNd8 SCNi8
|
||||
#endif
|
||||
#ifdef UINT8_MAX
|
||||
SCNo8 SCNu8 SCNx8
|
||||
#endif
|
||||
#ifdef INT16_MAX
|
||||
SCNd16 SCNi16
|
||||
#endif
|
||||
#ifdef UINT16_MAX
|
||||
SCNo16 SCNu16 SCNx16
|
||||
#endif
|
||||
#ifdef INT32_MAX
|
||||
SCNd32 SCNi32
|
||||
#endif
|
||||
#ifdef UINT32_MAX
|
||||
SCNo32 SCNu32 SCNx32
|
||||
#endif
|
||||
#ifdef INT64_MAX
|
||||
SCNd64 SCNi64
|
||||
#endif
|
||||
#ifdef UINT64_MAX
|
||||
SCNo64 SCNu64 SCNx64
|
||||
#endif
|
||||
SCNdLEAST8 SCNiLEAST8 SCNoLEAST8 SCNuLEAST8 SCNxLEAST8
|
||||
SCNdLEAST16 SCNiLEAST16 SCNoLEAST16 SCNuLEAST16 SCNxLEAST16
|
||||
SCNdLEAST32 SCNiLEAST32 SCNoLEAST32 SCNuLEAST32 SCNxLEAST32
|
||||
SCNdLEAST64 SCNiLEAST64
|
||||
SCNoLEAST64 SCNuLEAST64 SCNxLEAST64
|
||||
SCNdFAST8 SCNiFAST8 SCNoFAST8 SCNuFAST8 SCNxFAST8
|
||||
SCNdFAST16 SCNiFAST16 SCNoFAST16 SCNuFAST16 SCNxFAST16
|
||||
SCNdFAST32 SCNiFAST32 SCNoFAST32 SCNuFAST32 SCNxFAST32
|
||||
SCNdFAST64 SCNiFAST64
|
||||
SCNoFAST64 SCNuFAST64 SCNxFAST64
|
||||
SCNdMAX SCNiMAX SCNoMAX SCNuMAX SCNxMAX
|
||||
#ifdef INTPTR_MAX
|
||||
SCNdPTR SCNiPTR
|
||||
#endif
|
||||
#ifdef UINTPTR_MAX
|
||||
SCNoPTR SCNuPTR SCNxPTR
|
||||
#endif
|
||||
;
|
||||
]])],
|
||||
[gl_cv_header_working_inttypes_h=yes])
|
||||
fi])
|
||||
|
||||
dnl Override <inttypes.h> always, so that the portability warnings work.
|
||||
AC_REQUIRE([gl_INTTYPES_H_DEFAULTS])
|
||||
gl_CHECK_NEXT_HEADERS([inttypes.h])
|
||||
|
||||
AC_REQUIRE([gl_MULTIARCH])
|
||||
|
||||
dnl Ensure that <stdint.h> defines the limit macros, since gnulib's
|
||||
dnl <inttypes.h> relies on them. This macro is only needed when a
|
||||
dnl C++ compiler is in use; it has no effect for a C compiler.
|
||||
|
@ -158,129 +31,12 @@ const char *l = /* implicit string concatenation */
|
|||
#endif
|
||||
])
|
||||
|
||||
PRIPTR_PREFIX=
|
||||
if test -n "$STDINT_H"; then
|
||||
dnl Using the gnulib <stdint.h>. It always defines intptr_t to 'long'.
|
||||
PRIPTR_PREFIX='"l"'
|
||||
else
|
||||
dnl Using the system's <stdint.h>.
|
||||
for glpfx in '' l ll I64; do
|
||||
case $glpfx in
|
||||
'') gltype1='int';;
|
||||
l) gltype1='long int';;
|
||||
ll) gltype1='long long int';;
|
||||
I64) gltype1='__int64';;
|
||||
esac
|
||||
AC_COMPILE_IFELSE(
|
||||
[AC_LANG_PROGRAM([[#include <stdint.h>
|
||||
extern intptr_t foo;
|
||||
extern $gltype1 foo;]])],
|
||||
[PRIPTR_PREFIX='"'$glpfx'"'])
|
||||
test -n "$PRIPTR_PREFIX" && break
|
||||
done
|
||||
fi
|
||||
AC_SUBST([PRIPTR_PREFIX])
|
||||
|
||||
if test "$ac_cv_have_decl_imaxabs" = yes; then
|
||||
HAVE_DECL_IMAXABS=1
|
||||
else
|
||||
HAVE_DECL_IMAXABS=0
|
||||
fi
|
||||
|
||||
if test "$ac_cv_have_decl_imaxdiv" = yes; then
|
||||
HAVE_DECL_IMAXDIV=1
|
||||
else
|
||||
HAVE_DECL_IMAXDIV=0
|
||||
fi
|
||||
|
||||
if test "$ac_cv_have_decl_strtoimax" = yes; then
|
||||
HAVE_DECL_STRTOIMAX=1
|
||||
else
|
||||
HAVE_DECL_STRTOIMAX=0
|
||||
fi
|
||||
|
||||
if test "$ac_cv_have_decl_strtoumax" = yes; then
|
||||
HAVE_DECL_STRTOUMAX=1
|
||||
else
|
||||
HAVE_DECL_STRTOUMAX=0
|
||||
fi
|
||||
|
||||
gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION(
|
||||
[INT32_MAX_LT_INTMAX_MAX],
|
||||
[defined INT32_MAX && defined INTMAX_MAX],
|
||||
[INT32_MAX < INTMAX_MAX],
|
||||
[sizeof (int) < sizeof (long long int)])
|
||||
if test $APPLE_UNIVERSAL_BUILD = 0; then
|
||||
gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION(
|
||||
[INT64_MAX_EQ_LONG_MAX],
|
||||
[defined INT64_MAX],
|
||||
[INT64_MAX == LONG_MAX],
|
||||
[sizeof (long long int) == sizeof (long int)])
|
||||
else
|
||||
INT64_MAX_EQ_LONG_MAX=-1
|
||||
fi
|
||||
gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION(
|
||||
[UINT32_MAX_LT_UINTMAX_MAX],
|
||||
[defined UINT32_MAX && defined UINTMAX_MAX],
|
||||
[UINT32_MAX < UINTMAX_MAX],
|
||||
[sizeof (unsigned int) < sizeof (unsigned long long int)])
|
||||
if test $APPLE_UNIVERSAL_BUILD = 0; then
|
||||
gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION(
|
||||
[UINT64_MAX_EQ_ULONG_MAX],
|
||||
[defined UINT64_MAX],
|
||||
[UINT64_MAX == ULONG_MAX],
|
||||
[sizeof (unsigned long long int) == sizeof (unsigned long int)])
|
||||
else
|
||||
UINT64_MAX_EQ_ULONG_MAX=-1
|
||||
fi
|
||||
|
||||
dnl Check for declarations of anything we want to poison if the
|
||||
dnl corresponding gnulib module is not in use.
|
||||
gl_WARN_ON_USE_PREPARE([[#include <inttypes.h>
|
||||
]], [imaxabs imaxdiv strtoimax strtoumax])
|
||||
])
|
||||
|
||||
# Define the symbol $1 to be 1 if the condition is true, 0 otherwise.
|
||||
# If $2 is true, the condition is $3; otherwise if long long int is supported
|
||||
# approximate the condition with $4; otherwise, assume the condition is false.
|
||||
# The condition should work on all C99 platforms; the approximations should be
|
||||
# good enough to work on all practical pre-C99 platforms.
|
||||
# $2 is evaluated by the C preprocessor, $3 and $4 as compile-time constants.
|
||||
AC_DEFUN([gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION],
|
||||
[
|
||||
AC_CACHE_CHECK([whether $3],
|
||||
[gl_cv_test_$1],
|
||||
[AC_COMPILE_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[/* Work also in C++ mode. */
|
||||
#define __STDC_LIMIT_MACROS 1
|
||||
|
||||
/* Work if build is not clean. */
|
||||
#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
|
||||
|
||||
#include <limits.h>
|
||||
#if HAVE_STDINT_H
|
||||
#include <stdint.h>
|
||||
#endif
|
||||
|
||||
#if $2
|
||||
#define CONDITION ($3)
|
||||
#elif HAVE_LONG_LONG_INT
|
||||
#define CONDITION ($4)
|
||||
#else
|
||||
#define CONDITION 0
|
||||
#endif
|
||||
int test[CONDITION ? 1 : -1];]])],
|
||||
[gl_cv_test_$1=yes],
|
||||
[gl_cv_test_$1=no])])
|
||||
if test $gl_cv_test_$1 = yes; then
|
||||
$1=1;
|
||||
else
|
||||
$1=0;
|
||||
fi
|
||||
AC_SUBST([$1])
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_INTTYPES_MODULE_INDICATOR],
|
||||
[
|
||||
dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
|
||||
|
@ -299,4 +55,8 @@ AC_DEFUN([gl_INTTYPES_H_DEFAULTS],
|
|||
HAVE_DECL_IMAXDIV=1; AC_SUBST([HAVE_DECL_IMAXDIV])
|
||||
HAVE_DECL_STRTOIMAX=1; AC_SUBST([HAVE_DECL_STRTOIMAX])
|
||||
HAVE_DECL_STRTOUMAX=1; AC_SUBST([HAVE_DECL_STRTOUMAX])
|
||||
INT64_MAX_EQ_LONG_MAX='defined _LP64'; AC_SUBST([INT64_MAX_EQ_LONG_MAX])
|
||||
PRI_MACROS_BROKEN=0; AC_SUBST([PRI_MACROS_BROKEN])
|
||||
PRIPTR_PREFIX=__PRIPTR_PREFIX; AC_SUBST([PRIPTR_PREFIX])
|
||||
UINT64_MAX_EQ_ULONG_MAX='defined _LP64'; AC_SUBST([UINT64_MAX_EQ_ULONG_MAX])
|
||||
])
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
# strtoimax.m4 serial 8
|
||||
dnl Copyright (C) 2002-2004, 2006, 2009-2011 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
AC_DEFUN([gl_FUNC_STRTOIMAX],
|
||||
[
|
||||
AC_CACHE_CHECK([whether <inttypes.h> defines strtoimax as a macro],
|
||||
gl_cv_func_strtoimax_macro,
|
||||
[AC_EGREP_CPP([inttypes_h_defines_strtoimax], [#include <inttypes.h>
|
||||
#ifdef strtoimax
|
||||
inttypes_h_defines_strtoimax
|
||||
#endif],
|
||||
gl_cv_func_strtoimax_macro=yes,
|
||||
gl_cv_func_strtoimax_macro=no)])
|
||||
|
||||
if test "$gl_cv_func_strtoimax_macro" != yes; then
|
||||
AC_REPLACE_FUNCS([strtoimax])
|
||||
if test $ac_cv_func_strtoimax = no; then
|
||||
gl_PREREQ_STRTOIMAX
|
||||
fi
|
||||
fi
|
||||
])
|
||||
|
||||
# Prerequisites of lib/strtoimax.c.
|
||||
AC_DEFUN([gl_PREREQ_STRTOIMAX], [
|
||||
AC_CHECK_DECLS([strtoll])
|
||||
AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
|
||||
])
|
10
m4/strtol.m4
10
m4/strtol.m4
|
@ -1,10 +0,0 @@
|
|||
# strtol.m4 serial 5
|
||||
dnl Copyright (C) 2002-2003, 2006, 2009-2011 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
AC_DEFUN([gl_FUNC_STRTOL],
|
||||
[
|
||||
AC_REPLACE_FUNCS([strtol])
|
||||
])
|
|
@ -1,25 +0,0 @@
|
|||
# strtoll.m4 serial 6
|
||||
dnl Copyright (C) 2002, 2004, 2006, 2008-2011 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
AC_DEFUN([gl_FUNC_STRTOLL],
|
||||
[
|
||||
AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
|
||||
dnl We don't need (and can't compile) the replacement strtoll
|
||||
dnl unless the type 'long long int' exists.
|
||||
AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
|
||||
if test "$ac_cv_type_long_long_int" = yes; then
|
||||
AC_REPLACE_FUNCS([strtoll])
|
||||
if test $ac_cv_func_strtoll = no; then
|
||||
HAVE_STRTOLL=0
|
||||
gl_PREREQ_STRTOLL
|
||||
fi
|
||||
fi
|
||||
])
|
||||
|
||||
# Prerequisites of lib/strtoll.c.
|
||||
AC_DEFUN([gl_PREREQ_STRTOLL], [
|
||||
:
|
||||
])
|
|
@ -1,10 +0,0 @@
|
|||
# strtoul.m4 serial 4
|
||||
dnl Copyright (C) 2002, 2006, 2009-2011 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
AC_DEFUN([gl_FUNC_STRTOUL],
|
||||
[
|
||||
AC_REPLACE_FUNCS([strtoul])
|
||||
])
|
|
@ -1,4 +1,4 @@
|
|||
# strtoumax.m4 serial 8
|
||||
# strtoumax.m4 serial 9
|
||||
dnl Copyright (C) 2002-2004, 2006, 2009-2011 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -6,25 +6,32 @@ dnl with or without modifications, as long as this notice is preserved.
|
|||
|
||||
AC_DEFUN([gl_FUNC_STRTOUMAX],
|
||||
[
|
||||
AC_CACHE_CHECK([whether <inttypes.h> defines strtoumax as a macro],
|
||||
gl_cv_func_strtoumax_macro,
|
||||
[AC_EGREP_CPP([inttypes_h_defines_strtoumax], [#include <inttypes.h>
|
||||
#ifdef strtoumax
|
||||
inttypes_h_defines_strtoumax
|
||||
#endif],
|
||||
gl_cv_func_strtoumax_macro=yes,
|
||||
gl_cv_func_strtoumax_macro=no)])
|
||||
AC_REQUIRE([gl_INTTYPES_H_DEFAULTS])
|
||||
|
||||
if test "$gl_cv_func_strtoumax_macro" != yes; then
|
||||
AC_REPLACE_FUNCS([strtoumax])
|
||||
if test $ac_cv_func_strtoumax = no; then
|
||||
gl_PREREQ_STRTOUMAX
|
||||
AC_CHECK_DECLS_ONCE([strtoumax])
|
||||
if test "$ac_cv_have_decl_strtoumax" != yes; then
|
||||
HAVE_DECL_STRTOUMAX=0
|
||||
|
||||
AC_CACHE_CHECK([whether <inttypes.h> defines strtoumax as a macro],
|
||||
gl_cv_func_strtoumax_macro,
|
||||
[AC_EGREP_CPP([inttypes_h_defines_strtoumax], [#include <inttypes.h>
|
||||
#ifdef strtoumax
|
||||
inttypes_h_defines_strtoumax
|
||||
#endif],
|
||||
gl_cv_func_strtoumax_macro=yes,
|
||||
gl_cv_func_strtoumax_macro=no)])
|
||||
|
||||
if test "$gl_cv_func_strtoumax_macro" != yes; then
|
||||
AC_REPLACE_FUNCS([strtoumax])
|
||||
if test $ac_cv_func_strtoumax = no; then
|
||||
gl_PREREQ_STRTOUMAX
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
])
|
||||
|
||||
# Prerequisites of lib/strtoumax.c.
|
||||
AC_DEFUN([gl_PREREQ_STRTOUMAX], [
|
||||
AC_CHECK_DECLS([strtoull])
|
||||
AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT])
|
||||
gl_FUNC_STRTOULL
|
||||
])
|
||||
|
|
232
m4/wchar_h.m4
232
m4/wchar_h.m4
|
@ -1,232 +0,0 @@
|
|||
dnl A placeholder for ISO C99 <wchar.h>, for platforms that have issues.
|
||||
|
||||
dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl Written by Eric Blake.
|
||||
|
||||
# wchar_h.m4 serial 38
|
||||
|
||||
AC_DEFUN([gl_WCHAR_H],
|
||||
[
|
||||
AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
|
||||
AC_REQUIRE([gl_WCHAR_H_INLINE_OK])
|
||||
dnl Prepare for creating substitute <wchar.h>.
|
||||
dnl Check for <wchar.h> (missing in Linux uClibc when built without wide
|
||||
dnl character support).
|
||||
dnl <wchar.h> is always overridden, because of GNULIB_POSIXCHECK.
|
||||
gl_CHECK_NEXT_HEADERS([wchar.h])
|
||||
if test $ac_cv_header_wchar_h = yes; then
|
||||
HAVE_WCHAR_H=1
|
||||
else
|
||||
HAVE_WCHAR_H=0
|
||||
fi
|
||||
AC_SUBST([HAVE_WCHAR_H])
|
||||
|
||||
AC_REQUIRE([gl_FEATURES_H])
|
||||
|
||||
AC_REQUIRE([gt_TYPE_WINT_T])
|
||||
if test $gt_cv_c_wint_t = yes; then
|
||||
HAVE_WINT_T=1
|
||||
else
|
||||
HAVE_WINT_T=0
|
||||
fi
|
||||
AC_SUBST([HAVE_WINT_T])
|
||||
|
||||
dnl Check for declarations of anything we want to poison if the
|
||||
dnl corresponding gnulib module is not in use.
|
||||
gl_WARN_ON_USE_PREPARE([[
|
||||
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
|
||||
<wchar.h>.
|
||||
BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
|
||||
included before <wchar.h>. */
|
||||
#if !(defined __GLIBC__ && !defined __UCLIBC__)
|
||||
# include <stddef.h>
|
||||
# include <stdio.h>
|
||||
# include <time.h>
|
||||
#endif
|
||||
#include <wchar.h>
|
||||
]],
|
||||
[btowc wctob mbsinit mbrtowc mbrlen mbsrtowcs mbsnrtowcs wcrtomb
|
||||
wcsrtombs wcsnrtombs wcwidth wmemchr wmemcmp wmemcpy wmemmove wmemset
|
||||
wcslen wcsnlen wcscpy wcpcpy wcsncpy wcpncpy wcscat wcsncat wcscmp
|
||||
wcsncmp wcscasecmp wcsncasecmp wcscoll wcsxfrm wcsdup wcschr wcsrchr
|
||||
wcscspn wcsspn wcspbrk wcsstr wcstok wcswidth
|
||||
])
|
||||
])
|
||||
|
||||
dnl Check whether <wchar.h> is usable at all.
|
||||
AC_DEFUN([gl_WCHAR_H_INLINE_OK],
|
||||
[
|
||||
dnl Test whether <wchar.h> suffers due to the transition from '__inline' to
|
||||
dnl 'gnu_inline'. See <http://sourceware.org/bugzilla/show_bug.cgi?id=4022>
|
||||
dnl and <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42440>. In summary,
|
||||
dnl glibc version 2.5 or older, together with gcc version 4.3 or newer and
|
||||
dnl the option -std=c99 or -std=gnu99, leads to a broken <wchar.h>.
|
||||
AC_CACHE_CHECK([whether <wchar.h> uses 'inline' correctly],
|
||||
[gl_cv_header_wchar_h_correct_inline],
|
||||
[gl_cv_header_wchar_h_correct_inline=yes
|
||||
AC_LANG_CONFTEST([
|
||||
AC_LANG_SOURCE([[#define wcstod renamed_wcstod
|
||||
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
|
||||
<wchar.h>.
|
||||
BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
|
||||
included before <wchar.h>. */
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include <wchar.h>
|
||||
extern int zero (void);
|
||||
int main () { return zero(); }
|
||||
]])])
|
||||
if AC_TRY_EVAL([ac_compile]); then
|
||||
mv conftest.$ac_objext conftest1.$ac_objext
|
||||
AC_LANG_CONFTEST([
|
||||
AC_LANG_SOURCE([[#define wcstod renamed_wcstod
|
||||
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
|
||||
<wchar.h>.
|
||||
BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
|
||||
included before <wchar.h>. */
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include <wchar.h>
|
||||
int zero (void) { return 0; }
|
||||
]])])
|
||||
if AC_TRY_EVAL([ac_compile]); then
|
||||
mv conftest.$ac_objext conftest2.$ac_objext
|
||||
if $CC -o conftest$ac_exeext $CFLAGS $LDFLAGS conftest1.$ac_objext conftest2.$ac_objext $LIBS >&AS_MESSAGE_LOG_FD 2>&1; then
|
||||
:
|
||||
else
|
||||
gl_cv_header_wchar_h_correct_inline=no
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
rm -f conftest1.$ac_objext conftest2.$ac_objext conftest$ac_exeext
|
||||
])
|
||||
if test $gl_cv_header_wchar_h_correct_inline = no; then
|
||||
AC_MSG_ERROR([<wchar.h> cannot be used with this compiler ($CC $CFLAGS $CPPFLAGS).
|
||||
This is a known interoperability problem of glibc <= 2.5 with gcc >= 4.3 in
|
||||
C99 mode. You have four options:
|
||||
- Add the flag -fgnu89-inline to CC and reconfigure, or
|
||||
- Fix your include files, using parts of
|
||||
<http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=b037a293a48718af30d706c2e18c929d0e69a621>, or
|
||||
- Use a gcc version older than 4.3, or
|
||||
- Don't use the flags -std=c99 or -std=gnu99.
|
||||
Configuration aborted.])
|
||||
fi
|
||||
])
|
||||
|
||||
dnl Unconditionally enables the replacement of <wchar.h>.
|
||||
AC_DEFUN([gl_REPLACE_WCHAR_H],
|
||||
[
|
||||
dnl This is a no-op, because <wchar.h> is always overridden.
|
||||
:
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_WCHAR_MODULE_INDICATOR],
|
||||
[
|
||||
dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
|
||||
AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
|
||||
gl_MODULE_INDICATOR_SET_VARIABLE([$1])
|
||||
dnl Define it also as a C macro, for the benefit of the unit tests.
|
||||
gl_MODULE_INDICATOR_FOR_TESTS([$1])
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_WCHAR_H_DEFAULTS],
|
||||
[
|
||||
GNULIB_BTOWC=0; AC_SUBST([GNULIB_BTOWC])
|
||||
GNULIB_WCTOB=0; AC_SUBST([GNULIB_WCTOB])
|
||||
GNULIB_MBSINIT=0; AC_SUBST([GNULIB_MBSINIT])
|
||||
GNULIB_MBRTOWC=0; AC_SUBST([GNULIB_MBRTOWC])
|
||||
GNULIB_MBRLEN=0; AC_SUBST([GNULIB_MBRLEN])
|
||||
GNULIB_MBSRTOWCS=0; AC_SUBST([GNULIB_MBSRTOWCS])
|
||||
GNULIB_MBSNRTOWCS=0; AC_SUBST([GNULIB_MBSNRTOWCS])
|
||||
GNULIB_WCRTOMB=0; AC_SUBST([GNULIB_WCRTOMB])
|
||||
GNULIB_WCSRTOMBS=0; AC_SUBST([GNULIB_WCSRTOMBS])
|
||||
GNULIB_WCSNRTOMBS=0; AC_SUBST([GNULIB_WCSNRTOMBS])
|
||||
GNULIB_WCWIDTH=0; AC_SUBST([GNULIB_WCWIDTH])
|
||||
GNULIB_WMEMCHR=0; AC_SUBST([GNULIB_WMEMCHR])
|
||||
GNULIB_WMEMCMP=0; AC_SUBST([GNULIB_WMEMCMP])
|
||||
GNULIB_WMEMCPY=0; AC_SUBST([GNULIB_WMEMCPY])
|
||||
GNULIB_WMEMMOVE=0; AC_SUBST([GNULIB_WMEMMOVE])
|
||||
GNULIB_WMEMSET=0; AC_SUBST([GNULIB_WMEMSET])
|
||||
GNULIB_WCSLEN=0; AC_SUBST([GNULIB_WCSLEN])
|
||||
GNULIB_WCSNLEN=0; AC_SUBST([GNULIB_WCSNLEN])
|
||||
GNULIB_WCSCPY=0; AC_SUBST([GNULIB_WCSCPY])
|
||||
GNULIB_WCPCPY=0; AC_SUBST([GNULIB_WCPCPY])
|
||||
GNULIB_WCSNCPY=0; AC_SUBST([GNULIB_WCSNCPY])
|
||||
GNULIB_WCPNCPY=0; AC_SUBST([GNULIB_WCPNCPY])
|
||||
GNULIB_WCSCAT=0; AC_SUBST([GNULIB_WCSCAT])
|
||||
GNULIB_WCSNCAT=0; AC_SUBST([GNULIB_WCSNCAT])
|
||||
GNULIB_WCSCMP=0; AC_SUBST([GNULIB_WCSCMP])
|
||||
GNULIB_WCSNCMP=0; AC_SUBST([GNULIB_WCSNCMP])
|
||||
GNULIB_WCSCASECMP=0; AC_SUBST([GNULIB_WCSCASECMP])
|
||||
GNULIB_WCSNCASECMP=0; AC_SUBST([GNULIB_WCSNCASECMP])
|
||||
GNULIB_WCSCOLL=0; AC_SUBST([GNULIB_WCSCOLL])
|
||||
GNULIB_WCSXFRM=0; AC_SUBST([GNULIB_WCSXFRM])
|
||||
GNULIB_WCSDUP=0; AC_SUBST([GNULIB_WCSDUP])
|
||||
GNULIB_WCSCHR=0; AC_SUBST([GNULIB_WCSCHR])
|
||||
GNULIB_WCSRCHR=0; AC_SUBST([GNULIB_WCSRCHR])
|
||||
GNULIB_WCSCSPN=0; AC_SUBST([GNULIB_WCSCSPN])
|
||||
GNULIB_WCSSPN=0; AC_SUBST([GNULIB_WCSSPN])
|
||||
GNULIB_WCSPBRK=0; AC_SUBST([GNULIB_WCSPBRK])
|
||||
GNULIB_WCSSTR=0; AC_SUBST([GNULIB_WCSSTR])
|
||||
GNULIB_WCSTOK=0; AC_SUBST([GNULIB_WCSTOK])
|
||||
GNULIB_WCSWIDTH=0; AC_SUBST([GNULIB_WCSWIDTH])
|
||||
dnl Assume proper GNU behavior unless another module says otherwise.
|
||||
HAVE_BTOWC=1; AC_SUBST([HAVE_BTOWC])
|
||||
HAVE_MBSINIT=1; AC_SUBST([HAVE_MBSINIT])
|
||||
HAVE_MBRTOWC=1; AC_SUBST([HAVE_MBRTOWC])
|
||||
HAVE_MBRLEN=1; AC_SUBST([HAVE_MBRLEN])
|
||||
HAVE_MBSRTOWCS=1; AC_SUBST([HAVE_MBSRTOWCS])
|
||||
HAVE_MBSNRTOWCS=1; AC_SUBST([HAVE_MBSNRTOWCS])
|
||||
HAVE_WCRTOMB=1; AC_SUBST([HAVE_WCRTOMB])
|
||||
HAVE_WCSRTOMBS=1; AC_SUBST([HAVE_WCSRTOMBS])
|
||||
HAVE_WCSNRTOMBS=1; AC_SUBST([HAVE_WCSNRTOMBS])
|
||||
HAVE_WMEMCHR=1; AC_SUBST([HAVE_WMEMCHR])
|
||||
HAVE_WMEMCMP=1; AC_SUBST([HAVE_WMEMCMP])
|
||||
HAVE_WMEMCPY=1; AC_SUBST([HAVE_WMEMCPY])
|
||||
HAVE_WMEMMOVE=1; AC_SUBST([HAVE_WMEMMOVE])
|
||||
HAVE_WMEMSET=1; AC_SUBST([HAVE_WMEMSET])
|
||||
HAVE_WCSLEN=1; AC_SUBST([HAVE_WCSLEN])
|
||||
HAVE_WCSNLEN=1; AC_SUBST([HAVE_WCSNLEN])
|
||||
HAVE_WCSCPY=1; AC_SUBST([HAVE_WCSCPY])
|
||||
HAVE_WCPCPY=1; AC_SUBST([HAVE_WCPCPY])
|
||||
HAVE_WCSNCPY=1; AC_SUBST([HAVE_WCSNCPY])
|
||||
HAVE_WCPNCPY=1; AC_SUBST([HAVE_WCPNCPY])
|
||||
HAVE_WCSCAT=1; AC_SUBST([HAVE_WCSCAT])
|
||||
HAVE_WCSNCAT=1; AC_SUBST([HAVE_WCSNCAT])
|
||||
HAVE_WCSCMP=1; AC_SUBST([HAVE_WCSCMP])
|
||||
HAVE_WCSNCMP=1; AC_SUBST([HAVE_WCSNCMP])
|
||||
HAVE_WCSCASECMP=1; AC_SUBST([HAVE_WCSCASECMP])
|
||||
HAVE_WCSNCASECMP=1; AC_SUBST([HAVE_WCSNCASECMP])
|
||||
HAVE_WCSCOLL=1; AC_SUBST([HAVE_WCSCOLL])
|
||||
HAVE_WCSXFRM=1; AC_SUBST([HAVE_WCSXFRM])
|
||||
HAVE_WCSDUP=1; AC_SUBST([HAVE_WCSDUP])
|
||||
HAVE_WCSCHR=1; AC_SUBST([HAVE_WCSCHR])
|
||||
HAVE_WCSRCHR=1; AC_SUBST([HAVE_WCSRCHR])
|
||||
HAVE_WCSCSPN=1; AC_SUBST([HAVE_WCSCSPN])
|
||||
HAVE_WCSSPN=1; AC_SUBST([HAVE_WCSSPN])
|
||||
HAVE_WCSPBRK=1; AC_SUBST([HAVE_WCSPBRK])
|
||||
HAVE_WCSSTR=1; AC_SUBST([HAVE_WCSSTR])
|
||||
HAVE_WCSTOK=1; AC_SUBST([HAVE_WCSTOK])
|
||||
HAVE_WCSWIDTH=1; AC_SUBST([HAVE_WCSWIDTH])
|
||||
HAVE_DECL_WCTOB=1; AC_SUBST([HAVE_DECL_WCTOB])
|
||||
HAVE_DECL_WCWIDTH=1; AC_SUBST([HAVE_DECL_WCWIDTH])
|
||||
REPLACE_MBSTATE_T=0; AC_SUBST([REPLACE_MBSTATE_T])
|
||||
REPLACE_BTOWC=0; AC_SUBST([REPLACE_BTOWC])
|
||||
REPLACE_WCTOB=0; AC_SUBST([REPLACE_WCTOB])
|
||||
REPLACE_MBSINIT=0; AC_SUBST([REPLACE_MBSINIT])
|
||||
REPLACE_MBRTOWC=0; AC_SUBST([REPLACE_MBRTOWC])
|
||||
REPLACE_MBRLEN=0; AC_SUBST([REPLACE_MBRLEN])
|
||||
REPLACE_MBSRTOWCS=0; AC_SUBST([REPLACE_MBSRTOWCS])
|
||||
REPLACE_MBSNRTOWCS=0; AC_SUBST([REPLACE_MBSNRTOWCS])
|
||||
REPLACE_WCRTOMB=0; AC_SUBST([REPLACE_WCRTOMB])
|
||||
REPLACE_WCSRTOMBS=0; AC_SUBST([REPLACE_WCSRTOMBS])
|
||||
REPLACE_WCSNRTOMBS=0; AC_SUBST([REPLACE_WCSNRTOMBS])
|
||||
REPLACE_WCWIDTH=0; AC_SUBST([REPLACE_WCWIDTH])
|
||||
REPLACE_WCSWIDTH=0; AC_SUBST([REPLACE_WCSWIDTH])
|
||||
])
|
32
m4/wint_t.m4
32
m4/wint_t.m4
|
@ -1,32 +0,0 @@
|
|||
# wint_t.m4 serial 5 (gettext-0.18.2)
|
||||
dnl Copyright (C) 2003, 2007-2011 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl From Bruno Haible.
|
||||
dnl Test whether <wchar.h> has the 'wint_t' type.
|
||||
dnl Prerequisite: AC_PROG_CC
|
||||
|
||||
AC_DEFUN([gt_TYPE_WINT_T],
|
||||
[
|
||||
AC_CACHE_CHECK([for wint_t], [gt_cv_c_wint_t],
|
||||
[AC_COMPILE_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[
|
||||
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
|
||||
<wchar.h>.
|
||||
BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be included
|
||||
before <wchar.h>. */
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include <wchar.h>
|
||||
wint_t foo = (wchar_t)'\0';]],
|
||||
[[]])],
|
||||
[gt_cv_c_wint_t=yes],
|
||||
[gt_cv_c_wint_t=no])])
|
||||
if test $gt_cv_c_wint_t = yes; then
|
||||
AC_DEFINE([HAVE_WINT_T], [1], [Define if you have the 'wint_t' type.])
|
||||
fi
|
||||
])
|
Loading…
Add table
Reference in a new issue