gnulib: update to 405cd675384221b541b460c43de26d159914fe0a
This also include my patch to lib/argp.hh for C++ compilation. * lib/Makefile.am, lib/alloca.in.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c, lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h, lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h, lib/argp-parse.c, lib/argp-pin.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c, lib/argp.h, lib/asnprintf.c, lib/basename-lgpl.c, lib/c-ctype.h, lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strcaseeq.h, lib/c-strncasecmp.c, lib/config.charset, lib/dirname-lgpl.c, lib/dirname.h, lib/dosname.h, lib/errno.in.h, lib/error.c, lib/error.h, lib/exitfail.c, lib/exitfail.h, lib/fcntl.in.h, lib/float+.h, lib/float.c, lib/float.in.h, lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h, lib/gettext.h, lib/gettimeofday.c, lib/hard-locale.c, lib/hard-locale.h, lib/intprops.h, lib/isatty.c, lib/itold.c, lib/localcharset.c, lib/localcharset.h, lib/lstat.c, lib/malloc.c, lib/mbrtowc.c, lib/mbsinit.c, lib/memchr.c, lib/mempcpy.c, lib/mkstemp.c, lib/mkstemps.c, lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c, lib/msvc-nothrow.h, lib/pathmax.h, lib/printf-args.c, lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h, lib/progname.c, lib/progname.h, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/rawmemchr.c, lib/ref-add.sin, lib/ref-del.sin, lib/secure_getenv.c, lib/size_max.h, lib/sleep.c, lib/stat.c, lib/stdalign.in.h, lib/stdbool.in.h, lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/stdlib.in.h, lib/stpcpy.c, lib/strcasecmp.c, lib/strchrnul.c, lib/streq.h, lib/strerror-override.c, lib/strerror-override.h, lib/strerror.c, lib/string.in.h, lib/strings.in.h, lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strverscmp.c, lib/sys_stat.in.h, lib/sys_time.in.h, lib/sys_types.in.h, lib/sys_wait.in.h, lib/sysexits.in.h, lib/tempname.c, lib/tempname.h, lib/time.in.h, lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/verify.h, lib/vsnprintf.c, lib/wchar.in.h, lib/wctype.in.h, lib/xalloc-die.c, lib/xalloc-oversized.h, lib/xalloc.h, lib/xmalloc.c, lib/xsize.h, m4/00gnulib.m4, m4/absolute-header.m4, m4/alloca.m4, m4/argp.m4, m4/configmake.m4, m4/dirname.m4, m4/double-slash-root.m4, m4/errno_h.m4, m4/error.m4, m4/exponentd.m4, m4/extensions.m4, m4/extern-inline.m4, m4/fcntl-o.m4, m4/fcntl_h.m4, m4/float_h.m4, m4/getopt.m4, m4/gettimeofday.m4, m4/glibc21.m4, m4/gnulib-cache.m4, m4/gnulib-common.m4, m4/gnulib-comp.m4, m4/gnulib-tool.m4, m4/hard-locale.m4, m4/include_next.m4, m4/intmax_t.m4, m4/inttypes_h.m4, m4/isatty.m4, m4/largefile.m4, m4/localcharset.m4, m4/locale-fr.m4, m4/locale-ja.m4, m4/locale-zh.m4, m4/longlong.m4, m4/lstat.m4, m4/malloc.m4, m4/math_h.m4, m4/mbrtowc.m4, m4/mbsinit.m4, m4/mbstate_t.m4, m4/memchr.m4, m4/mempcpy.m4, m4/mkstemp.m4, m4/mkstemps.m4, m4/mmap-anon.m4, m4/msvc-inval.m4, m4/msvc-nothrow.m4, m4/multiarch.m4, m4/nocrash.m4, m4/off_t.m4, m4/pathmax.m4, m4/printf.m4, m4/quote.m4, m4/quotearg.m4, m4/rawmemchr.m4, m4/secure_getenv.m4, m4/size_max.m4, m4/sleep.m4, m4/ssize_t.m4, m4/stat.m4, m4/stdalign.m4, m4/stdbool.m4, m4/stddef_h.m4, m4/stdint.m4, m4/stdint_h.m4, m4/stdio_h.m4, m4/stdlib_h.m4, m4/stpcpy.m4, m4/strcase.m4, m4/strchrnul.m4, m4/strerror.m4, m4/string_h.m4, m4/strings_h.m4, m4/strndup.m4, m4/strnlen.m4, m4/strverscmp.m4, m4/sys_socket_h.m4, m4/sys_stat_h.m4, m4/sys_time_h.m4, m4/sys_types_h.m4, m4/sys_wait_h.m4, m4/sysexits.m4, m4/tempname.m4, m4/time_h.m4, m4/unistd_h.m4, m4/vasnprintf.m4, m4/vsnprintf.m4, m4/warn-on-use.m4, m4/wchar_h.m4, m4/wchar_t.m4, m4/wctype_h.m4, m4/wint_t.m4, m4/xalloc.m4, m4/xsize.m4, tools/snippet/arg-nonnull.h, tools/snippet/c++defs.h, tools/snippet/warn-on-use.h: Update. * lib/getprogname.c, lib/getprogname.h, lib/limits.in.h, lib/minmax.h, m4/getprogname.m4, m4/limits-h.m4, m4/minmax.m4: New files.
This commit is contained in:
parent
07e714e14e
commit
4fd297786a
222 changed files with 1717 additions and 806 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
## DO NOT EDIT! GENERATED AUTOMATICALLY!
|
## DO NOT EDIT! GENERATED AUTOMATICALLY!
|
||||||
## Process this file with automake to produce Makefile.in.
|
## Process this file with automake to produce Makefile.in.
|
||||||
# Copyright (C) 2002-2016 Free Software Foundation, Inc.
|
# Copyright (C) 2002-2017 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; you can redistribute it and/or modify
|
# This file is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|
@ -331,6 +331,12 @@ EXTRA_libgnu_la_SOURCES += getopt.c getopt1.c
|
||||||
|
|
||||||
## end gnulib module getopt-posix
|
## end gnulib module getopt-posix
|
||||||
|
|
||||||
|
## begin gnulib module getprogname
|
||||||
|
|
||||||
|
libgnu_la_SOURCES += getprogname.h getprogname.c
|
||||||
|
|
||||||
|
## end gnulib module getprogname
|
||||||
|
|
||||||
## begin gnulib module gettext-h
|
## begin gnulib module gettext-h
|
||||||
|
|
||||||
libgnu_la_SOURCES += gettext.h
|
libgnu_la_SOURCES += gettext.h
|
||||||
|
|
@ -370,6 +376,34 @@ EXTRA_libgnu_la_SOURCES += isatty.c
|
||||||
|
|
||||||
## end gnulib module isatty
|
## end gnulib module isatty
|
||||||
|
|
||||||
|
## begin gnulib module limits-h
|
||||||
|
|
||||||
|
BUILT_SOURCES += $(LIMITS_H)
|
||||||
|
|
||||||
|
# We need the following in order to create <limits.h> when the system
|
||||||
|
# doesn't have one that is compatible with GNU.
|
||||||
|
if GL_GENERATE_LIMITS_H
|
||||||
|
limits.h: limits.in.h $(top_builddir)/config.status
|
||||||
|
$(AM_V_GEN)rm -f $@-t $@ && \
|
||||||
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
|
||||||
|
sed -e 's|@''GUARD_PREFIX''@|GL|g' \
|
||||||
|
-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|@''NEXT_LIMITS_H''@|$(NEXT_LIMITS_H)|g' \
|
||||||
|
< $(srcdir)/limits.in.h; \
|
||||||
|
} > $@-t && \
|
||||||
|
mv $@-t $@
|
||||||
|
else
|
||||||
|
limits.h: $(top_builddir)/config.status
|
||||||
|
rm -f $@
|
||||||
|
endif
|
||||||
|
MOSTLYCLEANFILES += limits.h limits.h-t
|
||||||
|
|
||||||
|
EXTRA_DIST += limits.in.h
|
||||||
|
|
||||||
|
## end gnulib module limits-h
|
||||||
|
|
||||||
## begin gnulib module localcharset
|
## begin gnulib module localcharset
|
||||||
|
|
||||||
libgnu_la_SOURCES += localcharset.h localcharset.c
|
libgnu_la_SOURCES += localcharset.h localcharset.c
|
||||||
|
|
@ -507,6 +541,12 @@ EXTRA_libgnu_la_SOURCES += mempcpy.c
|
||||||
|
|
||||||
## end gnulib module mempcpy
|
## end gnulib module mempcpy
|
||||||
|
|
||||||
|
## begin gnulib module minmax
|
||||||
|
|
||||||
|
libgnu_la_SOURCES += minmax.h
|
||||||
|
|
||||||
|
## end gnulib module minmax
|
||||||
|
|
||||||
## begin gnulib module mkstemp
|
## begin gnulib module mkstemp
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -787,6 +827,7 @@ stdint.h: stdint.in.h $(top_builddir)/config.status
|
||||||
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
||||||
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
||||||
-e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
|
-e 's|@''NEXT_STDINT_H''@|$(NEXT_STDINT_H)|g' \
|
||||||
|
-e 's/@''HAVE_C99_STDINT_H''@/$(HAVE_C99_STDINT_H)/g' \
|
||||||
-e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
|
-e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
|
||||||
-e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
|
-e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
|
||||||
-e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
|
-e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
|
||||||
|
|
@ -808,6 +849,7 @@ stdint.h: stdint.in.h $(top_builddir)/config.status
|
||||||
-e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
|
-e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
|
||||||
-e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
|
-e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
|
||||||
-e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
|
-e 's/@''WINT_T_SUFFIX''@/$(WINT_T_SUFFIX)/g' \
|
||||||
|
-e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \
|
||||||
< $(srcdir)/stdint.in.h; \
|
< $(srcdir)/stdint.in.h; \
|
||||||
} > $@-t && \
|
} > $@-t && \
|
||||||
mv $@-t $@
|
mv $@-t $@
|
||||||
|
|
@ -1012,6 +1054,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
|
||||||
-e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
|
-e 's|@''HAVE_POSIX_OPENPT''@|$(HAVE_POSIX_OPENPT)|g' \
|
||||||
-e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
|
-e 's|@''HAVE_PTSNAME''@|$(HAVE_PTSNAME)|g' \
|
||||||
-e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
|
-e 's|@''HAVE_PTSNAME_R''@|$(HAVE_PTSNAME_R)|g' \
|
||||||
|
-e 's|@''HAVE_QSORT_R''@|$(HAVE_QSORT_R)|g' \
|
||||||
-e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \
|
-e 's|@''HAVE_RANDOM''@|$(HAVE_RANDOM)|g' \
|
||||||
-e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
|
-e 's|@''HAVE_RANDOM_H''@|$(HAVE_RANDOM_H)|g' \
|
||||||
-e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
|
-e 's|@''HAVE_RANDOM_R''@|$(HAVE_RANDOM_R)|g' \
|
||||||
|
|
@ -1578,7 +1621,6 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
|
||||||
-e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \
|
-e 's|@''HAVE_GETDTABLESIZE''@|$(HAVE_GETDTABLESIZE)|g' \
|
||||||
-e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \
|
-e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \
|
||||||
-e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
|
-e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
|
||||||
-e 's|@''HAVE_GETLOGIN''@|$(HAVE_GETLOGIN)|g' \
|
|
||||||
-e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
|
-e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
|
||||||
-e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \
|
-e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \
|
||||||
-e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \
|
-e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \
|
||||||
|
|
@ -1600,6 +1642,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
|
||||||
-e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \
|
-e 's|@''HAVE_DECL_FCHDIR''@|$(HAVE_DECL_FCHDIR)|g' \
|
||||||
-e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \
|
-e 's|@''HAVE_DECL_FDATASYNC''@|$(HAVE_DECL_FDATASYNC)|g' \
|
||||||
-e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \
|
-e 's|@''HAVE_DECL_GETDOMAINNAME''@|$(HAVE_DECL_GETDOMAINNAME)|g' \
|
||||||
|
-e 's|@''HAVE_DECL_GETLOGIN''@|$(HAVE_DECL_GETLOGIN)|g' \
|
||||||
-e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
|
-e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
|
||||||
-e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \
|
-e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \
|
||||||
-e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \
|
-e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \
|
||||||
|
|
@ -1693,6 +1736,7 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
|
||||||
-e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \
|
-e 's|@''HAVE_FEATURES_H''@|$(HAVE_FEATURES_H)|g' \
|
||||||
-e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
|
-e 's|@''NEXT_WCHAR_H''@|$(NEXT_WCHAR_H)|g' \
|
||||||
-e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
|
-e 's|@''HAVE_WCHAR_H''@|$(HAVE_WCHAR_H)|g' \
|
||||||
|
-e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \
|
||||||
-e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \
|
-e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \
|
||||||
-e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \
|
-e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \
|
||||||
-e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \
|
-e 's/@''GNULIB_MBSINIT''@/$(GNULIB_MBSINIT)/g' \
|
||||||
|
|
@ -1814,6 +1858,7 @@ wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H
|
||||||
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
||||||
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
||||||
-e 's|@''NEXT_WCTYPE_H''@|$(NEXT_WCTYPE_H)|g' \
|
-e 's|@''NEXT_WCTYPE_H''@|$(NEXT_WCTYPE_H)|g' \
|
||||||
|
-e 's/@''GNULIB_OVERRIDES_WINT_T''@/$(GNULIB_OVERRIDES_WINT_T)/g' \
|
||||||
-e 's/@''GNULIB_ISWBLANK''@/$(GNULIB_ISWBLANK)/g' \
|
-e 's/@''GNULIB_ISWBLANK''@/$(GNULIB_ISWBLANK)/g' \
|
||||||
-e 's/@''GNULIB_WCTYPE''@/$(GNULIB_WCTYPE)/g' \
|
-e 's/@''GNULIB_WCTYPE''@/$(GNULIB_WCTYPE)/g' \
|
||||||
-e 's/@''GNULIB_ISWCTYPE''@/$(GNULIB_ISWCTYPE)/g' \
|
-e 's/@''GNULIB_ISWCTYPE''@/$(GNULIB_ISWCTYPE)/g' \
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Memory allocation on the stack.
|
/* Memory allocation on the stack.
|
||||||
|
|
||||||
Copyright (C) 1995, 1999, 2001-2004, 2006-2016 Free Software Foundation,
|
Copyright (C) 1995, 1999, 2001-2004, 2006-2017 Free Software Foundation,
|
||||||
Inc.
|
Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify it
|
This program is free software; you can redistribute it and/or modify it
|
||||||
|
|
@ -51,6 +51,8 @@ extern "C"
|
||||||
void *_alloca (unsigned short);
|
void *_alloca (unsigned short);
|
||||||
# pragma intrinsic (_alloca)
|
# pragma intrinsic (_alloca)
|
||||||
# define alloca _alloca
|
# define alloca _alloca
|
||||||
|
# elif defined __MVS__
|
||||||
|
# include <stdlib.h>
|
||||||
# else
|
# else
|
||||||
# include <stddef.h>
|
# include <stddef.h>
|
||||||
# ifdef __cplusplus
|
# ifdef __cplusplus
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* argmatch.c -- find a match for a string in an array
|
/* argmatch.c -- find a match for a string in an array
|
||||||
|
|
||||||
Copyright (C) 1990, 1998-1999, 2001-2007, 2009-2016 Free Software
|
Copyright (C) 1990, 1998-1999, 2001-2007, 2009-2017 Free Software
|
||||||
Foundation, Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
|
@ -35,6 +35,7 @@
|
||||||
#include "error.h"
|
#include "error.h"
|
||||||
#include "quotearg.h"
|
#include "quotearg.h"
|
||||||
#include "quote.h"
|
#include "quote.h"
|
||||||
|
#include "getprogname.h"
|
||||||
|
|
||||||
#if USE_UNLOCKED_IO
|
#if USE_UNLOCKED_IO
|
||||||
# include "unlocked-io.h"
|
# include "unlocked-io.h"
|
||||||
|
|
@ -209,7 +210,6 @@ argmatch_to_argument (const char *value,
|
||||||
/*
|
/*
|
||||||
* Based on "getversion.c" by David MacKenzie <djm@gnu.ai.mit.edu>
|
* Based on "getversion.c" by David MacKenzie <djm@gnu.ai.mit.edu>
|
||||||
*/
|
*/
|
||||||
char *program_name;
|
|
||||||
|
|
||||||
/* When to make backup files. */
|
/* When to make backup files. */
|
||||||
enum backup_type
|
enum backup_type
|
||||||
|
|
@ -253,11 +253,9 @@ main (int argc, const char *const *argv)
|
||||||
const char *cp;
|
const char *cp;
|
||||||
enum backup_type backup_type = no_backups;
|
enum backup_type backup_type = no_backups;
|
||||||
|
|
||||||
program_name = (char *) argv[0];
|
|
||||||
|
|
||||||
if (argc > 2)
|
if (argc > 2)
|
||||||
{
|
{
|
||||||
fprintf (stderr, "Usage: %s [VERSION_CONTROL]\n", program_name);
|
fprintf (stderr, "Usage: %s [VERSION_CONTROL]\n", getprogname ());
|
||||||
exit (1);
|
exit (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -266,7 +264,7 @@ main (int argc, const char *const *argv)
|
||||||
backup_args, backup_vals);
|
backup_args, backup_vals);
|
||||||
|
|
||||||
if (argc == 2)
|
if (argc == 2)
|
||||||
backup_type = XARGMATCH (program_name, argv[1],
|
backup_type = XARGMATCH (getprogname (), argv[1],
|
||||||
backup_args, backup_vals);
|
backup_args, backup_vals);
|
||||||
|
|
||||||
printf ("The version control is '%s'\n",
|
printf ("The version control is '%s'\n",
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* argmatch.h -- definitions and prototypes for argmatch.c
|
/* argmatch.h -- definitions and prototypes for argmatch.c
|
||||||
|
|
||||||
Copyright (C) 1990, 1998-1999, 2001-2002, 2004-2005, 2009-2016 Free Software
|
Copyright (C) 1990, 1998-1999, 2001-2002, 2004-2005, 2009-2017 Free Software
|
||||||
Foundation, Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Default definition for ARGP_PROGRAM_BUG_ADDRESS.
|
/* Default definition for ARGP_PROGRAM_BUG_ADDRESS.
|
||||||
Copyright (C) 1996-2016 Free Software Foundation, Inc.
|
Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Default definition for ARGP_ERR_EXIT_STATUS
|
/* Default definition for ARGP_ERR_EXIT_STATUS
|
||||||
Copyright (C) 1997, 2009-2016 Free Software Foundation, Inc.
|
Copyright (C) 1997, 2009-2017 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Word-wrapping and line-truncating streams
|
/* Word-wrapping and line-truncating streams
|
||||||
Copyright (C) 1997-2016 Free Software Foundation, Inc.
|
Copyright (C) 1997-2017 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Word-wrapping and line-truncating streams.
|
/* Word-wrapping and line-truncating streams.
|
||||||
Copyright (C) 1997-2016 Free Software Foundation, Inc.
|
Copyright (C) 1997-2017 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Real definitions for extern inline functions in argp-fmtstream.h
|
/* Real definitions for extern inline functions in argp-fmtstream.h
|
||||||
Copyright (C) 1997-2016 Free Software Foundation, Inc.
|
Copyright (C) 1997-2017 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Hierarchical argument parsing help output
|
/* Hierarchical argument parsing help output
|
||||||
Copyright (C) 1995-2016 Free Software Foundation, Inc.
|
Copyright (C) 1995-2017 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Name frobnication for compiling argp outside of glibc
|
/* Name frobnication for compiling argp outside of glibc
|
||||||
Copyright (C) 1997-2016 Free Software Foundation, Inc.
|
Copyright (C) 1997-2017 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Hierarchical argument parsing, layered over getopt
|
/* Hierarchical argument parsing, layered over getopt
|
||||||
Copyright (C) 1995-2016 Free Software Foundation, Inc.
|
Copyright (C) 1995-2017 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Full and short program names for argp module
|
/* Full and short program names for argp module
|
||||||
Copyright (C) 2005, 2009-2016 Free Software Foundation, Inc.
|
Copyright (C) 2005, 2009-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
@ -24,3 +24,10 @@ char *program_invocation_short_name = 0;
|
||||||
#ifndef HAVE_PROGRAM_INVOCATION_NAME
|
#ifndef HAVE_PROGRAM_INVOCATION_NAME
|
||||||
char *program_invocation_name = 0;
|
char *program_invocation_name = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if (defined HAVE_PROGRAM_INVOCATION_SHORT_NAME \
|
||||||
|
&& defined HAVE_PROGRAM_INVOCATION_NAME)
|
||||||
|
/* This declaration is solely to ensure that after preprocessing
|
||||||
|
this file is never empty. */
|
||||||
|
typedef int dummy;
|
||||||
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Default definition for ARGP_PROGRAM_VERSION.
|
/* Default definition for ARGP_PROGRAM_VERSION.
|
||||||
Copyright (C) 1996-2016 Free Software Foundation, Inc.
|
Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Default definition for ARGP_PROGRAM_VERSION_HOOK.
|
/* Default definition for ARGP_PROGRAM_VERSION_HOOK.
|
||||||
Copyright (C) 1996-2016 Free Software Foundation, Inc.
|
Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Real definitions for extern inline functions in argp.h
|
/* Real definitions for extern inline functions in argp.h
|
||||||
Copyright (C) 1997-2016 Free Software Foundation, Inc.
|
Copyright (C) 1997-2017 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Hierarchical argument parsing, layered over getopt.
|
/* Hierarchical argument parsing, layered over getopt.
|
||||||
Copyright (C) 1995-2016 Free Software Foundation, Inc.
|
Copyright (C) 1995-2017 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
Written by Miles Bader <miles@gnu.ai.mit.edu>.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Formatted output to strings.
|
/* Formatted output to strings.
|
||||||
Copyright (C) 1999, 2002, 2006, 2009-2016 Free Software Foundation, Inc.
|
Copyright (C) 1999, 2002, 2006, 2009-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* basename.c -- return the last element in a file name
|
/* basename.c -- return the last element in a file name
|
||||||
|
|
||||||
Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2016 Free Software
|
Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2017 Free Software
|
||||||
Foundation, Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
<ctype.h> functions' behaviour depends on the current locale set via
|
<ctype.h> functions' behaviour depends on the current locale set via
|
||||||
setlocale.
|
setlocale.
|
||||||
|
|
||||||
Copyright (C) 2000-2003, 2006, 2008-2016 Free Software Foundation, Inc.
|
Copyright (C) 2000-2003, 2006, 2008-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
@ -115,16 +115,16 @@ extern "C" {
|
||||||
|
|
||||||
/* Cases for lowercase hex letters, and lowercase letters, all offset by N. */
|
/* Cases for lowercase hex letters, and lowercase letters, all offset by N. */
|
||||||
|
|
||||||
#define _C_CTYPE_LOWER_A_THRU_F_N(n) \
|
#define _C_CTYPE_LOWER_A_THRU_F_N(N) \
|
||||||
case 'a' + (n): case 'b' + (n): case 'c' + (n): case 'd' + (n): \
|
case 'a' + (N): case 'b' + (N): case 'c' + (N): case 'd' + (N): \
|
||||||
case 'e' + (n): case 'f' + (n)
|
case 'e' + (N): case 'f' + (N)
|
||||||
#define _C_CTYPE_LOWER_N(n) \
|
#define _C_CTYPE_LOWER_N(N) \
|
||||||
_C_CTYPE_LOWER_A_THRU_F_N(n): \
|
_C_CTYPE_LOWER_A_THRU_F_N(N): \
|
||||||
case 'g' + (n): case 'h' + (n): case 'i' + (n): case 'j' + (n): \
|
case 'g' + (N): case 'h' + (N): case 'i' + (N): case 'j' + (N): \
|
||||||
case 'k' + (n): case 'l' + (n): case 'm' + (n): case 'n' + (n): \
|
case 'k' + (N): case 'l' + (N): case 'm' + (N): case 'n' + (N): \
|
||||||
case 'o' + (n): case 'p' + (n): case 'q' + (n): case 'r' + (n): \
|
case 'o' + (N): case 'p' + (N): case 'q' + (N): case 'r' + (N): \
|
||||||
case 's' + (n): case 't' + (n): case 'u' + (n): case 'v' + (n): \
|
case 's' + (N): case 't' + (N): case 'u' + (N): case 'v' + (N): \
|
||||||
case 'w' + (n): case 'x' + (n): case 'y' + (n): case 'z' + (n)
|
case 'w' + (N): case 'x' + (N): case 'y' + (N): case 'z' + (N)
|
||||||
|
|
||||||
/* Cases for hex letters, digits, lower, punct, and upper. */
|
/* Cases for hex letters, digits, lower, punct, and upper. */
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Case-insensitive string comparison functions in C locale.
|
/* Case-insensitive string comparison functions in C locale.
|
||||||
Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2016 Free Software
|
Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2017 Free Software
|
||||||
Foundation, Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* c-strcasecmp.c -- case insensitive string comparator in C locale
|
/* c-strcasecmp.c -- case insensitive string comparator in C locale
|
||||||
Copyright (C) 1998-1999, 2005-2006, 2009-2016 Free Software Foundation, Inc.
|
Copyright (C) 1998-1999, 2005-2006, 2009-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Optimized case-insensitive string comparison in C locale.
|
/* Optimized case-insensitive string comparison in C locale.
|
||||||
Copyright (C) 2001-2002, 2007, 2009-2016 Free Software Foundation, Inc.
|
Copyright (C) 2001-2002, 2007, 2009-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify it
|
This program is free software: you can redistribute it and/or modify it
|
||||||
under the terms of the GNU General Public License as published
|
under the terms of the GNU General Public License as published
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* c-strncasecmp.c -- case insensitive string comparator in C locale
|
/* c-strncasecmp.c -- case insensitive string comparator in C locale
|
||||||
Copyright (C) 1998-1999, 2005-2006, 2009-2016 Free Software Foundation, Inc.
|
Copyright (C) 1998-1999, 2005-2006, 2009-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Output a system dependent table of character encoding aliases.
|
# Output a system dependent table of character encoding aliases.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2000-2004, 2006-2016 Free Software Foundation, Inc.
|
# Copyright (C) 2000-2004, 2006-2017 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* dirname.c -- return all but the last element in a file name
|
/* dirname.c -- return all but the last element in a file name
|
||||||
|
|
||||||
Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2016 Free Software
|
Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2017 Free Software
|
||||||
Foundation, Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Take file names apart into directory and base names.
|
/* Take file names apart into directory and base names.
|
||||||
|
|
||||||
Copyright (C) 1998, 2001, 2003-2006, 2009-2016 Free Software Foundation,
|
Copyright (C) 1998, 2001, 2003-2006, 2009-2017 Free Software Foundation,
|
||||||
Inc.
|
Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* File names on MS-DOS/Windows systems.
|
/* File names on MS-DOS/Windows systems.
|
||||||
|
|
||||||
Copyright (C) 2000-2001, 2004-2006, 2009-2016 Free Software Foundation, Inc.
|
Copyright (C) 2000-2001, 2004-2006, 2009-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* A POSIX-like <errno.h>.
|
/* A POSIX-like <errno.h>.
|
||||||
|
|
||||||
Copyright (C) 2008-2016 Free Software Foundation, Inc.
|
Copyright (C) 2008-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Error handler for noninteractive utilities
|
/* Error handler for noninteractive utilities
|
||||||
Copyright (C) 1990-1998, 2000-2007, 2009-2016 Free Software Foundation, Inc.
|
Copyright (C) 1990-1998, 2000-2007, 2009-2017 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
|
@ -42,6 +42,8 @@
|
||||||
# define USE_UNLOCKED_IO 0
|
# define USE_UNLOCKED_IO 0
|
||||||
# define _GL_ATTRIBUTE_FORMAT_PRINTF(a, b)
|
# define _GL_ATTRIBUTE_FORMAT_PRINTF(a, b)
|
||||||
# define _GL_ARG_NONNULL(a)
|
# define _GL_ARG_NONNULL(a)
|
||||||
|
#else
|
||||||
|
# include "getprogname.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if USE_UNLOCKED_IO
|
#if USE_UNLOCKED_IO
|
||||||
|
|
@ -113,9 +115,7 @@ int strerror_r ();
|
||||||
# endif
|
# endif
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
/* The calling program should define program_name and set it to the
|
#define program_name getprogname ()
|
||||||
name of the executing program. */
|
|
||||||
extern char *program_name;
|
|
||||||
|
|
||||||
# if HAVE_STRERROR_R || defined strerror_r
|
# if HAVE_STRERROR_R || defined strerror_r
|
||||||
# define __strerror_r strerror_r
|
# define __strerror_r strerror_r
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Declaration for error-reporting function
|
/* Declaration for error-reporting function
|
||||||
Copyright (C) 1995-1997, 2003, 2006, 2008-2016 Free Software Foundation,
|
Copyright (C) 1995-1997, 2003, 2006, 2008-2017 Free Software Foundation,
|
||||||
Inc.
|
Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Failure exit status
|
/* Failure exit status
|
||||||
|
|
||||||
Copyright (C) 2002-2003, 2005-2007, 2009-2016 Free Software Foundation, Inc.
|
Copyright (C) 2002-2003, 2005-2007, 2009-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Failure exit status
|
/* Failure exit status
|
||||||
|
|
||||||
Copyright (C) 2002, 2009-2016 Free Software Foundation, Inc.
|
Copyright (C) 2002, 2009-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Like <fcntl.h>, but with non-working flags defined to 0.
|
/* Like <fcntl.h>, but with non-working flags defined to 0.
|
||||||
|
|
||||||
Copyright (C) 2006-2016 Free Software Foundation, Inc.
|
Copyright (C) 2006-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Supplemental information about the floating-point formats.
|
/* Supplemental information about the floating-point formats.
|
||||||
Copyright (C) 2007, 2009-2016 Free Software Foundation, Inc.
|
Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc.
|
||||||
Written by Bruno Haible <bruno@clisp.org>, 2007.
|
Written by Bruno Haible <bruno@clisp.org>, 2007.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Auxiliary definitions for <float.h>.
|
/* Auxiliary definitions for <float.h>.
|
||||||
Copyright (C) 2011-2016 Free Software Foundation, Inc.
|
Copyright (C) 2011-2017 Free Software Foundation, Inc.
|
||||||
Written by Bruno Haible <bruno@clisp.org>, 2011.
|
Written by Bruno Haible <bruno@clisp.org>, 2011.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* A correct <float.h>.
|
/* A correct <float.h>.
|
||||||
|
|
||||||
Copyright (C) 2007-2016 Free Software Foundation, Inc.
|
Copyright (C) 2007-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
NOTE: getopt is part of the C library, so if you don't know what
|
NOTE: getopt is part of the C library, so if you don't know what
|
||||||
"Keep this file name-space clean" means, talk to drepper@gnu.org
|
"Keep this file name-space clean" means, talk to drepper@gnu.org
|
||||||
before changing it!
|
before changing it!
|
||||||
Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2016 Free Software
|
Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2017 Free Software
|
||||||
Foundation, Inc.
|
Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Declarations for getopt.
|
/* Declarations for getopt.
|
||||||
Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2016 Free Software
|
Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2017 Free Software
|
||||||
Foundation, Inc.
|
Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
|
@ -47,15 +47,20 @@
|
||||||
identifiers so that they do not collide with the system functions
|
identifiers so that they do not collide with the system functions
|
||||||
and variables. Renaming avoids problems with some compilers and
|
and variables. Renaming avoids problems with some compilers and
|
||||||
linkers. */
|
linkers. */
|
||||||
#if defined __GETOPT_PREFIX && !defined __need_getopt
|
#if defined __GETOPT_PREFIX
|
||||||
# if !@HAVE_GETOPT_H@
|
# if !defined __need_getopt
|
||||||
# define __need_system_stdlib_h
|
# if !@HAVE_GETOPT_H@
|
||||||
# include <stdlib.h>
|
# define __need_system_stdlib_h
|
||||||
# undef __need_system_stdlib_h
|
# include <stdlib.h>
|
||||||
# include <stdio.h>
|
# undef __need_system_stdlib_h
|
||||||
# include <unistd.h>
|
# include <stdio.h>
|
||||||
|
# include <unistd.h>
|
||||||
|
# endif
|
||||||
|
# undef __need_getopt
|
||||||
# endif
|
# endif
|
||||||
# undef __need_getopt
|
# undef __GETOPT_CONCAT
|
||||||
|
# undef __GETOPT_XCONCAT
|
||||||
|
# undef __GETOPT_ID
|
||||||
# undef getopt
|
# undef getopt
|
||||||
# undef getopt_long
|
# undef getopt_long
|
||||||
# undef getopt_long_only
|
# undef getopt_long_only
|
||||||
|
|
@ -64,6 +69,7 @@
|
||||||
# undef optind
|
# undef optind
|
||||||
# undef optopt
|
# undef optopt
|
||||||
# undef option
|
# undef option
|
||||||
|
# undef _getopt_internal
|
||||||
# define __GETOPT_CONCAT(x, y) x ## y
|
# define __GETOPT_CONCAT(x, y) x ## y
|
||||||
# define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y)
|
# define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y)
|
||||||
# define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)
|
# define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* getopt_long and getopt_long_only entry points for GNU getopt.
|
/* getopt_long and getopt_long_only entry points for GNU getopt.
|
||||||
Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2016 Free Software
|
Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2017 Free Software
|
||||||
Foundation, Inc.
|
Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Internal declarations for getopt.
|
/* Internal declarations for getopt.
|
||||||
Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2016 Free Software
|
Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2017 Free Software
|
||||||
Foundation, Inc.
|
Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
|
|
||||||
185
lib/getprogname.c
Normal file
185
lib/getprogname.c
Normal file
|
|
@ -0,0 +1,185 @@
|
||||||
|
/* Program name management.
|
||||||
|
Copyright (C) 2016-2017 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 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/>. */
|
||||||
|
|
||||||
|
#include <config.h>
|
||||||
|
|
||||||
|
/* Specification. */
|
||||||
|
#include "getprogname.h"
|
||||||
|
|
||||||
|
#include <errno.h> /* get program_invocation_name declaration */
|
||||||
|
#include <stdlib.h> /* get __argv declaration */
|
||||||
|
|
||||||
|
#ifdef _AIX
|
||||||
|
# include <unistd.h>
|
||||||
|
# include <procinfo.h>
|
||||||
|
# include <string.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __MVS__
|
||||||
|
# ifndef _OPEN_SYS
|
||||||
|
# define _OPEN_SYS
|
||||||
|
# endif
|
||||||
|
# include <string.h>
|
||||||
|
# include <sys/ps.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __hpux
|
||||||
|
# include <unistd.h>
|
||||||
|
# include <sys/param.h>
|
||||||
|
# include <sys/pstat.h>
|
||||||
|
# include <string.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __sgi
|
||||||
|
# include <string.h>
|
||||||
|
# include <unistd.h>
|
||||||
|
# include <stdio.h>
|
||||||
|
# include <fcntl.h>
|
||||||
|
# include <sys/procfs.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "dirname.h"
|
||||||
|
|
||||||
|
#ifndef HAVE_GETPROGNAME /* not Mac OS X, FreeBSD, NetBSD, OpenBSD >= 5.4, Cygwin */
|
||||||
|
char const *
|
||||||
|
getprogname (void)
|
||||||
|
{
|
||||||
|
# if HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME /* glibc, BeOS */
|
||||||
|
/* https://www.gnu.org/software/libc/manual/html_node/Error-Messages.html */
|
||||||
|
return program_invocation_short_name;
|
||||||
|
# elif HAVE_DECL_PROGRAM_INVOCATION_NAME /* glibc, BeOS */
|
||||||
|
/* https://www.gnu.org/software/libc/manual/html_node/Error-Messages.html */
|
||||||
|
return last_component (program_invocation_name);
|
||||||
|
# elif HAVE_GETEXECNAME /* Solaris */
|
||||||
|
/* http://docs.oracle.com/cd/E19253-01/816-5168/6mbb3hrb1/index.html */
|
||||||
|
const char *p = getexecname ();
|
||||||
|
if (!p)
|
||||||
|
p = "?";
|
||||||
|
return last_component (p);
|
||||||
|
# elif HAVE_DECL___ARGV /* mingw, MSVC */
|
||||||
|
/* https://msdn.microsoft.com/en-us/library/dn727674.aspx */
|
||||||
|
const char *p = __argv && __argv[0] ? __argv[0] : "?";
|
||||||
|
return last_component (p);
|
||||||
|
# elif HAVE_VAR___PROGNAME /* OpenBSD, QNX */
|
||||||
|
/* http://man.openbsd.org/style.9 */
|
||||||
|
/* http://www.qnx.de/developers/docs/6.5.0/index.jsp?topic=%2Fcom.qnx.doc.neutrino_lib_ref%2Fp%2F__progname.html */
|
||||||
|
/* Be careful to declare this only when we absolutely need it
|
||||||
|
(OpenBSD 5.1), rather than when it's available. Otherwise,
|
||||||
|
its mere declaration makes program_invocation_short_name
|
||||||
|
malfunction (have zero length) with Fedora 25's glibc. */
|
||||||
|
extern char *__progname;
|
||||||
|
const char *p = __progname;
|
||||||
|
return p && p[0] ? p : "?";
|
||||||
|
# elif _AIX /* AIX */
|
||||||
|
/* Idea by Bastien ROUCARIÈS,
|
||||||
|
http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00095.html
|
||||||
|
Reference: http://
|
||||||
|
ibm.biz/knowctr#ssw_aix_53/com.ibm.aix.basetechref/doc/basetrf1/getprocs.htm
|
||||||
|
*/
|
||||||
|
static char *p;
|
||||||
|
static int first = 1;
|
||||||
|
if (first)
|
||||||
|
{
|
||||||
|
first = 0;
|
||||||
|
pid_t pid = getpid ();
|
||||||
|
struct procentry64 procs;
|
||||||
|
p = (0 < getprocs64 (&procs, sizeof procs, NULL, 0, &pid, 1)
|
||||||
|
? strdup (procs.pi_comm)
|
||||||
|
: NULL);
|
||||||
|
if (!p)
|
||||||
|
p = "?";
|
||||||
|
}
|
||||||
|
return p;
|
||||||
|
# elif defined __hpux
|
||||||
|
static char *p;
|
||||||
|
static int first = 1;
|
||||||
|
if (first)
|
||||||
|
{
|
||||||
|
first = 0;
|
||||||
|
pid_t pid = getpid ();
|
||||||
|
struct pst_status status;
|
||||||
|
p = (0 < pstat_getproc (&status, sizeof status, 0, pid)
|
||||||
|
? strdup (status.pst_ucomm)
|
||||||
|
: NULL);
|
||||||
|
if (!p)
|
||||||
|
p = "?";
|
||||||
|
}
|
||||||
|
return p;
|
||||||
|
# elif __MVS__ /* z/OS */
|
||||||
|
/* https://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.bpxbd00/rtwgetp.htm */
|
||||||
|
static char *p = "?";
|
||||||
|
static int first = 1;
|
||||||
|
if (first)
|
||||||
|
{
|
||||||
|
pid_t pid = getpid ();
|
||||||
|
int token;
|
||||||
|
W_PSPROC buf;
|
||||||
|
first = 0;
|
||||||
|
memset (&buf, 0, sizeof(buf));
|
||||||
|
buf.ps_cmdptr = (char *) malloc (buf.ps_cmdlen = PS_CMDBLEN_LONG);
|
||||||
|
buf.ps_conttyptr = (char *) malloc (buf.ps_conttylen = PS_CONTTYBLEN);
|
||||||
|
buf.ps_pathptr = (char *) malloc (buf.ps_pathlen = PS_PATHBLEN);
|
||||||
|
if (buf.ps_cmdptr && buf.ps_conttyptr && buf.ps_pathptr)
|
||||||
|
{
|
||||||
|
for (token = 0; token >= 0;
|
||||||
|
token = w_getpsent (token, &buf, sizeof(buf)))
|
||||||
|
{
|
||||||
|
if (token > 0 && buf.ps_pid == pid)
|
||||||
|
{
|
||||||
|
char *s = strdup (last_component (buf.ps_pathptr));
|
||||||
|
if (s)
|
||||||
|
p = s;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
free (buf.ps_cmdptr);
|
||||||
|
free (buf.ps_conttyptr);
|
||||||
|
free (buf.ps_pathptr);
|
||||||
|
}
|
||||||
|
return p;
|
||||||
|
# elif defined __sgi /* IRIX */
|
||||||
|
char filename[50];
|
||||||
|
int fd;
|
||||||
|
|
||||||
|
sprintf (filename, "/proc/pinfo/%d", (int) getpid ());
|
||||||
|
fd = open (filename, O_RDONLY);
|
||||||
|
if (0 <= fd)
|
||||||
|
{
|
||||||
|
prpsinfo_t buf;
|
||||||
|
int ioctl_ok = 0 <= ioctl (fd, PIOCPSINFO, &buf);
|
||||||
|
close (fd);
|
||||||
|
if (ioctl_ok)
|
||||||
|
{
|
||||||
|
char *name = buf.pr_fname;
|
||||||
|
char *namesize = sizeof buf.pr_fname;
|
||||||
|
char *namenul = memchr (name, '\0', namesize);
|
||||||
|
size_t namelen = namenul ? namenul - name : namesize;
|
||||||
|
char *namecopy = malloc (namelen + 1);
|
||||||
|
if (namecopy)
|
||||||
|
{
|
||||||
|
namecopy[namelen] = 0;
|
||||||
|
return memcpy (namecopy, name, namelen);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
|
# else
|
||||||
|
# error "getprogname module not ported to this OS"
|
||||||
|
# endif
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
40
lib/getprogname.h
Normal file
40
lib/getprogname.h
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
/* Program name management.
|
||||||
|
Copyright (C) 2016-2017 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 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/>. */
|
||||||
|
|
||||||
|
#ifndef _GL_GETPROGNAME_H
|
||||||
|
#define _GL_GETPROGNAME_H
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Return the base name of the executing program.
|
||||||
|
On native Windows this will usually end in ".exe" or ".EXE". */
|
||||||
|
#ifndef HAVE_GETPROGNAME
|
||||||
|
extern char const *getprogname (void)
|
||||||
|
# ifdef HAVE_DECL_PROGRAM_INVOCATION_NAME
|
||||||
|
_GL_ATTRIBUTE_PURE
|
||||||
|
# endif
|
||||||
|
;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Convenience header for conditional use of GNU <libintl.h>.
|
/* Convenience header for conditional use of GNU <libintl.h>.
|
||||||
Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2016 Free Software
|
Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2017 Free Software
|
||||||
Foundation, Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Provide gettimeofday for systems that don't have it or for which it's broken.
|
/* Provide gettimeofday for systems that don't have it or for which it's broken.
|
||||||
|
|
||||||
Copyright (C) 2001-2003, 2005-2007, 2009-2016 Free Software Foundation, Inc.
|
Copyright (C) 2001-2003, 2005-2007, 2009-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* hard-locale.c -- Determine whether a locale is hard.
|
/* hard-locale.c -- Determine whether a locale is hard.
|
||||||
|
|
||||||
Copyright (C) 1997-1999, 2002-2004, 2006-2007, 2009-2016 Free Software
|
Copyright (C) 1997-1999, 2002-2004, 2006-2007, 2009-2017 Free Software
|
||||||
Foundation, Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Determine whether a locale is hard.
|
/* Determine whether a locale is hard.
|
||||||
|
|
||||||
Copyright (C) 1999, 2003-2004, 2009-2016 Free Software Foundation, Inc.
|
Copyright (C) 1999, 2003-2004, 2009-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* intprops.h -- properties of integer types
|
/* intprops.h -- properties of integer types
|
||||||
|
|
||||||
Copyright (C) 2001-2016 Free Software Foundation, Inc.
|
Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify it
|
This program is free software: you can redistribute it and/or modify it
|
||||||
under the terms of the GNU General Public License as published
|
under the terms of the GNU General Public License as published
|
||||||
|
|
@ -47,12 +47,16 @@
|
||||||
|
|
||||||
/* Minimum and maximum values for integer types and expressions. */
|
/* Minimum and maximum values for integer types and expressions. */
|
||||||
|
|
||||||
|
/* The width in bits of the integer type or expression T.
|
||||||
|
Padding bits are not supported; this is checked at compile-time below. */
|
||||||
|
#define TYPE_WIDTH(t) (sizeof (t) * CHAR_BIT)
|
||||||
|
|
||||||
/* The maximum and minimum values for the integer type T. */
|
/* The maximum and minimum values for the integer type T. */
|
||||||
#define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t))
|
#define TYPE_MINIMUM(t) ((t) ~ TYPE_MAXIMUM (t))
|
||||||
#define TYPE_MAXIMUM(t) \
|
#define TYPE_MAXIMUM(t) \
|
||||||
((t) (! TYPE_SIGNED (t) \
|
((t) (! TYPE_SIGNED (t) \
|
||||||
? (t) -1 \
|
? (t) -1 \
|
||||||
: ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
|
: ((((t) 1 << (TYPE_WIDTH (t) - 2)) - 1) * 2 + 1)))
|
||||||
|
|
||||||
/* The maximum and minimum values for the type of the expression E,
|
/* The maximum and minimum values for the type of the expression E,
|
||||||
after integer promotion. E should not have side effects. */
|
after integer promotion. E should not have side effects. */
|
||||||
|
|
@ -65,7 +69,13 @@
|
||||||
? _GL_SIGNED_INT_MAXIMUM (e) \
|
? _GL_SIGNED_INT_MAXIMUM (e) \
|
||||||
: _GL_INT_NEGATE_CONVERT (e, 1))
|
: _GL_INT_NEGATE_CONVERT (e, 1))
|
||||||
#define _GL_SIGNED_INT_MAXIMUM(e) \
|
#define _GL_SIGNED_INT_MAXIMUM(e) \
|
||||||
(((_GL_INT_CONVERT (e, 1) << (sizeof ((e) + 0) * CHAR_BIT - 2)) - 1) * 2 + 1)
|
(((_GL_INT_CONVERT (e, 1) << (TYPE_WIDTH ((e) + 0) - 2)) - 1) * 2 + 1)
|
||||||
|
|
||||||
|
/* Work around OpenVMS incompatibility with C99. */
|
||||||
|
#if !defined LLONG_MAX && defined __INT64_MAX
|
||||||
|
# define LLONG_MAX __INT64_MAX
|
||||||
|
# define LLONG_MIN __INT64_MIN
|
||||||
|
#endif
|
||||||
|
|
||||||
/* This include file assumes that signed types are two's complement without
|
/* This include file assumes that signed types are two's complement without
|
||||||
padding bits; the above macros have undefined behavior otherwise.
|
padding bits; the above macros have undefined behavior otherwise.
|
||||||
|
|
@ -84,10 +94,15 @@ verify (TYPE_MAXIMUM (long int) == LONG_MAX);
|
||||||
verify (TYPE_MINIMUM (long long int) == LLONG_MIN);
|
verify (TYPE_MINIMUM (long long int) == LLONG_MIN);
|
||||||
verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
|
verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
|
||||||
#endif
|
#endif
|
||||||
|
/* Similarly, sanity-check one ISO/IEC TS 18661-1:2014 macro if defined. */
|
||||||
|
#ifdef UINT_WIDTH
|
||||||
|
verify (TYPE_WIDTH (unsigned int) == UINT_WIDTH);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Does the __typeof__ keyword work? This could be done by
|
/* Does the __typeof__ keyword work? This could be done by
|
||||||
'configure', but for now it's easier to do it by hand. */
|
'configure', but for now it's easier to do it by hand. */
|
||||||
#if (2 <= __GNUC__ || defined __IBM__TYPEOF__ \
|
#if (2 <= __GNUC__ \
|
||||||
|
|| (1210 <= __IBMC__ && defined __IBM__TYPEOF__) \
|
||||||
|| (0x5110 <= __SUNPRO_C && !__STDC__))
|
|| (0x5110 <= __SUNPRO_C && !__STDC__))
|
||||||
# define _GL_HAVE___TYPEOF__ 1
|
# define _GL_HAVE___TYPEOF__ 1
|
||||||
#else
|
#else
|
||||||
|
|
@ -116,8 +131,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
|
||||||
signed, this macro may overestimate the true bound by one byte when
|
signed, this macro may overestimate the true bound by one byte when
|
||||||
applied to unsigned types of size 2, 4, 16, ... bytes. */
|
applied to unsigned types of size 2, 4, 16, ... bytes. */
|
||||||
#define INT_STRLEN_BOUND(t) \
|
#define INT_STRLEN_BOUND(t) \
|
||||||
(INT_BITS_STRLEN_BOUND (sizeof (t) * CHAR_BIT \
|
(INT_BITS_STRLEN_BOUND (TYPE_WIDTH (t) - _GL_SIGNED_TYPE_OR_EXPR (t)) \
|
||||||
- _GL_SIGNED_TYPE_OR_EXPR (t)) \
|
|
||||||
+ _GL_SIGNED_TYPE_OR_EXPR (t))
|
+ _GL_SIGNED_TYPE_OR_EXPR (t))
|
||||||
|
|
||||||
/* Bound on buffer size needed to represent an integer type or expression T,
|
/* Bound on buffer size needed to represent an integer type or expression T,
|
||||||
|
|
@ -222,20 +236,23 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
|
||||||
? (a) < (min) >> (b) \
|
? (a) < (min) >> (b) \
|
||||||
: (max) >> (b) < (a))
|
: (max) >> (b) < (a))
|
||||||
|
|
||||||
/* True if __builtin_add_overflow (A, B, P) works when P is null. */
|
/* True if __builtin_add_overflow (A, B, P) works when P is non-null. */
|
||||||
#define _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL (7 <= __GNUC__)
|
#define _GL_HAS_BUILTIN_OVERFLOW (5 <= __GNUC__)
|
||||||
|
|
||||||
|
/* True if __builtin_add_overflow_p (A, B, C) works. */
|
||||||
|
#define _GL_HAS_BUILTIN_OVERFLOW_P (7 <= __GNUC__)
|
||||||
|
|
||||||
/* The _GL*_OVERFLOW macros have the same restrictions as the
|
/* The _GL*_OVERFLOW macros have the same restrictions as the
|
||||||
*_RANGE_OVERFLOW macros, except that they do not assume that operands
|
*_RANGE_OVERFLOW macros, except that they do not assume that operands
|
||||||
(e.g., A and B) have the same type as MIN and MAX. Instead, they assume
|
(e.g., A and B) have the same type as MIN and MAX. Instead, they assume
|
||||||
that the result (e.g., A + B) has that type. */
|
that the result (e.g., A + B) has that type. */
|
||||||
#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL
|
#if _GL_HAS_BUILTIN_OVERFLOW_P
|
||||||
# define _GL_ADD_OVERFLOW(a, b, min, max)
|
# define _GL_ADD_OVERFLOW(a, b, min, max) \
|
||||||
__builtin_add_overflow (a, b, (__typeof__ ((a) + (b)) *) 0)
|
__builtin_add_overflow_p (a, b, (__typeof__ ((a) + (b))) 0)
|
||||||
# define _GL_SUBTRACT_OVERFLOW(a, b, min, max)
|
# define _GL_SUBTRACT_OVERFLOW(a, b, min, max) \
|
||||||
__builtin_sub_overflow (a, b, (__typeof__ ((a) - (b)) *) 0)
|
__builtin_sub_overflow_p (a, b, (__typeof__ ((a) - (b))) 0)
|
||||||
# define _GL_MULTIPLY_OVERFLOW(a, b, min, max)
|
# define _GL_MULTIPLY_OVERFLOW(a, b, min, max) \
|
||||||
__builtin_mul_overflow (a, b, (__typeof__ ((a) * (b)) *) 0)
|
__builtin_mul_overflow_p (a, b, (__typeof__ ((a) * (b))) 0)
|
||||||
#else
|
#else
|
||||||
# define _GL_ADD_OVERFLOW(a, b, min, max) \
|
# define _GL_ADD_OVERFLOW(a, b, min, max) \
|
||||||
((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max) \
|
((min) < 0 ? INT_ADD_RANGE_OVERFLOW (a, b, min, max) \
|
||||||
|
|
@ -315,7 +332,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
|
||||||
_GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW)
|
_GL_BINARY_OP_OVERFLOW (a, b, _GL_ADD_OVERFLOW)
|
||||||
#define INT_SUBTRACT_OVERFLOW(a, b) \
|
#define INT_SUBTRACT_OVERFLOW(a, b) \
|
||||||
_GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW)
|
_GL_BINARY_OP_OVERFLOW (a, b, _GL_SUBTRACT_OVERFLOW)
|
||||||
#if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL
|
#if _GL_HAS_BUILTIN_OVERFLOW_P
|
||||||
# define INT_NEGATE_OVERFLOW(a) INT_SUBTRACT_OVERFLOW (0, a)
|
# define INT_NEGATE_OVERFLOW(a) INT_SUBTRACT_OVERFLOW (0, a)
|
||||||
#else
|
#else
|
||||||
# define INT_NEGATE_OVERFLOW(a) \
|
# define INT_NEGATE_OVERFLOW(a) \
|
||||||
|
|
@ -349,10 +366,6 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
|
||||||
#define INT_MULTIPLY_WRAPV(a, b, r) \
|
#define INT_MULTIPLY_WRAPV(a, b, r) \
|
||||||
_GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW)
|
_GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW)
|
||||||
|
|
||||||
#ifndef __has_builtin
|
|
||||||
# define __has_builtin(x) 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390. See:
|
/* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390. See:
|
||||||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193
|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193
|
||||||
https://llvm.org/bugs/show_bug.cgi?id=25390
|
https://llvm.org/bugs/show_bug.cgi?id=25390
|
||||||
|
|
@ -369,7 +382,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
|
||||||
the operation. BUILTIN is the builtin operation, and OVERFLOW the
|
the operation. BUILTIN is the builtin operation, and OVERFLOW the
|
||||||
overflow predicate. Return 1 if the result overflows. See above
|
overflow predicate. Return 1 if the result overflows. See above
|
||||||
for restrictions. */
|
for restrictions. */
|
||||||
#if 5 <= __GNUC__ || __has_builtin (__builtin_add_overflow)
|
#if _GL_HAS_BUILTIN_OVERFLOW
|
||||||
# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r)
|
# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) builtin (a, b, r)
|
||||||
#elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS
|
#elif 201112 <= __STDC_VERSION__ && !_GL__GENERIC_BOGUS
|
||||||
# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \
|
# define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \
|
||||||
|
|
@ -412,7 +425,7 @@ verify (TYPE_MAXIMUM (long long int) == LLONG_MAX);
|
||||||
# else
|
# else
|
||||||
# define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \
|
# define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \
|
||||||
_GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
|
_GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \
|
||||||
long int, LONG_MIN, LONG_MAX))
|
long int, LONG_MIN, LONG_MAX)
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* isatty() replacement.
|
/* isatty() replacement.
|
||||||
Copyright (C) 2012-2016 Free Software Foundation, Inc.
|
Copyright (C) 2012-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Replacement for 'int' to 'long double' conversion routine.
|
/* Replacement for 'int' to 'long double' conversion routine.
|
||||||
Copyright (C) 2011-2016 Free Software Foundation, Inc.
|
Copyright (C) 2011-2017 Free Software Foundation, Inc.
|
||||||
Written by Bruno Haible <bruno@clisp.org>, 2011.
|
Written by Bruno Haible <bruno@clisp.org>, 2011.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
|
|
||||||
63
lib/limits.in.h
Normal file
63
lib/limits.in.h
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
/* A GNU-like <limits.h>.
|
||||||
|
|
||||||
|
Copyright 2016-2017 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, see <http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _@GUARD_PREFIX@_LIMITS_H
|
||||||
|
|
||||||
|
#if __GNUC__ >= 3
|
||||||
|
@PRAGMA_SYSTEM_HEADER@
|
||||||
|
#endif
|
||||||
|
@PRAGMA_COLUMNS@
|
||||||
|
|
||||||
|
/* The include_next requires a split double-inclusion guard. */
|
||||||
|
#@INCLUDE_NEXT@ @NEXT_LIMITS_H@
|
||||||
|
|
||||||
|
#ifndef _@GUARD_PREFIX@_LIMITS_H
|
||||||
|
#define _@GUARD_PREFIX@_LIMITS_H
|
||||||
|
|
||||||
|
/* The number of usable bits in an unsigned or signed integer type
|
||||||
|
with minimum value MIN and maximum value MAX, as an int expression
|
||||||
|
suitable in #if. Cover all known practical hosts. This
|
||||||
|
implementation exploits the fact that MAX is 1 less than a power of
|
||||||
|
2, and merely counts the number of 1 bits in MAX; "COBn" means
|
||||||
|
"count the number of 1 bits in the low-order n bits"). */
|
||||||
|
#define _GL_INTEGER_WIDTH(min, max) (((min) < 0) + _GL_COB128 (max))
|
||||||
|
#define _GL_COB128(n) (_GL_COB64 ((n) >> 31 >> 31 >> 2) + _GL_COB64 (n))
|
||||||
|
#define _GL_COB64(n) (_GL_COB32 ((n) >> 31 >> 1) + _GL_COB32 (n))
|
||||||
|
#define _GL_COB32(n) (_GL_COB16 ((n) >> 16) + _GL_COB16 (n))
|
||||||
|
#define _GL_COB16(n) (_GL_COB8 ((n) >> 8) + _GL_COB8 (n))
|
||||||
|
#define _GL_COB8(n) (_GL_COB4 ((n) >> 4) + _GL_COB4 (n))
|
||||||
|
#define _GL_COB4(n) (!!((n) & 8) + !!((n) & 4) + !!((n) & 2) + !!((n) & 1))
|
||||||
|
|
||||||
|
/* Macros specified by ISO/IEC TS 18661-1:2014. */
|
||||||
|
|
||||||
|
#if (! defined ULLONG_WIDTH \
|
||||||
|
&& (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__))
|
||||||
|
# define CHAR_WIDTH _GL_INTEGER_WIDTH (CHAR_MIN, CHAR_MAX)
|
||||||
|
# define SCHAR_WIDTH _GL_INTEGER_WIDTH (SCHAR_MIN, SCHAR_MAX)
|
||||||
|
# define UCHAR_WIDTH _GL_INTEGER_WIDTH (0, UCHAR_MAX)
|
||||||
|
# define SHRT_WIDTH _GL_INTEGER_WIDTH (SHRT_MIN, SHRT_MAX)
|
||||||
|
# define USHRT_WIDTH _GL_INTEGER_WIDTH (0, USHRT_MAX)
|
||||||
|
# define INT_WIDTH _GL_INTEGER_WIDTH (INT_MIN, INT_MAX)
|
||||||
|
# define UINT_WIDTH _GL_INTEGER_WIDTH (0, UINT_MAX)
|
||||||
|
# define LONG_WIDTH _GL_INTEGER_WIDTH (LONG_MIN, LONG_MAX)
|
||||||
|
# define ULONG_WIDTH _GL_INTEGER_WIDTH (0, ULONG_MAX)
|
||||||
|
# define LLONG_WIDTH _GL_INTEGER_WIDTH (LLONG_MIN, LLONG_MAX)
|
||||||
|
# define ULLONG_WIDTH _GL_INTEGER_WIDTH (0, ULLONG_MAX)
|
||||||
|
#endif /* !ULLONG_WIDTH && (_GNU_SOURCE || __STDC_WANT_IEC_60559_BFP_EXT__) */
|
||||||
|
|
||||||
|
#endif /* _@GUARD_PREFIX@_LIMITS_H */
|
||||||
|
#endif /* _@GUARD_PREFIX@_LIMITS_H */
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Determine a canonical name for the current locale's character encoding.
|
/* Determine a canonical name for the current locale's character encoding.
|
||||||
|
|
||||||
Copyright (C) 2000-2006, 2008-2016 Free Software Foundation, Inc.
|
Copyright (C) 2000-2006, 2008-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
@ -507,7 +507,7 @@ locale_charset (void)
|
||||||
current_locale = setlocale (LC_CTYPE, NULL);
|
current_locale = setlocale (LC_CTYPE, NULL);
|
||||||
|
|
||||||
pdot = strrchr (current_locale, '.');
|
pdot = strrchr (current_locale, '.');
|
||||||
if (pdot)
|
if (pdot && 2 + strlen (pdot + 1) + 1 <= sizeof (buf))
|
||||||
sprintf (buf, "CP%s", pdot + 1);
|
sprintf (buf, "CP%s", pdot + 1);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Determine a canonical name for the current locale's character encoding.
|
/* Determine a canonical name for the current locale's character encoding.
|
||||||
Copyright (C) 2000-2003, 2009-2016 Free Software Foundation, Inc.
|
Copyright (C) 2000-2003, 2009-2017 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU CHARSET Library.
|
This file is part of the GNU CHARSET Library.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Work around a bug of lstat on some systems
|
/* Work around a bug of lstat on some systems
|
||||||
|
|
||||||
Copyright (C) 1997-2006, 2008-2016 Free Software Foundation, Inc.
|
Copyright (C) 1997-2006, 2008-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* malloc() function that is glibc compatible.
|
/* malloc() function that is glibc compatible.
|
||||||
|
|
||||||
Copyright (C) 1997-1998, 2006-2007, 2009-2016 Free Software Foundation, Inc.
|
Copyright (C) 1997-1998, 2006-2007, 2009-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Convert multibyte character to wide character.
|
/* Convert multibyte character to wide character.
|
||||||
Copyright (C) 1999-2002, 2005-2016 Free Software Foundation, Inc.
|
Copyright (C) 1999-2002, 2005-2017 Free Software Foundation, Inc.
|
||||||
Written by Bruno Haible <bruno@clisp.org>, 2008.
|
Written by Bruno Haible <bruno@clisp.org>, 2008.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Test for initial conversion state.
|
/* Test for initial conversion state.
|
||||||
Copyright (C) 2008-2016 Free Software Foundation, Inc.
|
Copyright (C) 2008-2017 Free Software Foundation, Inc.
|
||||||
Written by Bruno Haible <bruno@clisp.org>, 2008.
|
Written by Bruno Haible <bruno@clisp.org>, 2008.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2016
|
/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2017
|
||||||
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
||||||
|
|
||||||
Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
|
Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Copy memory area and return pointer after last written byte.
|
/* Copy memory area and return pointer after last written byte.
|
||||||
Copyright (C) 2003, 2007, 2009-2016 Free Software Foundation, Inc.
|
Copyright (C) 2003, 2007, 2009-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
60
lib/minmax.h
Normal file
60
lib/minmax.h
Normal file
|
|
@ -0,0 +1,60 @@
|
||||||
|
/* MIN, MAX macros.
|
||||||
|
Copyright (C) 1995, 1998, 2001, 2003, 2005, 2009-2017 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, see <http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _MINMAX_H
|
||||||
|
#define _MINMAX_H
|
||||||
|
|
||||||
|
/* Note: MIN, MAX are also defined in <sys/param.h> on some systems
|
||||||
|
(glibc, IRIX, HP-UX, OSF/1). Therefore you might get warnings about
|
||||||
|
MIN, MAX macro redefinitions on some systems; the workaround is to
|
||||||
|
#include this file as the last one among the #include list. */
|
||||||
|
|
||||||
|
/* Before we define the following symbols we get the <limits.h> file
|
||||||
|
since otherwise we get redefinitions on some systems if <limits.h> is
|
||||||
|
included after this file. Likewise for <sys/param.h>.
|
||||||
|
If more than one of these system headers define MIN and MAX, pick just
|
||||||
|
one of the headers (because the definitions most likely are the same). */
|
||||||
|
#if HAVE_MINMAX_IN_LIMITS_H
|
||||||
|
# include <limits.h>
|
||||||
|
#elif HAVE_MINMAX_IN_SYS_PARAM_H
|
||||||
|
# include <sys/param.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Note: MIN and MAX should be used with two arguments of the
|
||||||
|
same type. They might not return the minimum and maximum of their two
|
||||||
|
arguments, if the arguments have different types or have unusual
|
||||||
|
floating-point values. For example, on a typical host with 32-bit 'int',
|
||||||
|
64-bit 'long long', and 64-bit IEEE 754 'double' types:
|
||||||
|
|
||||||
|
MAX (-1, 2147483648) returns 4294967295.
|
||||||
|
MAX (9007199254740992.0, 9007199254740993) returns 9007199254740992.0.
|
||||||
|
MAX (NaN, 0.0) returns 0.0.
|
||||||
|
MAX (+0.0, -0.0) returns -0.0.
|
||||||
|
|
||||||
|
and in each case the answer is in some sense bogus. */
|
||||||
|
|
||||||
|
/* MAX(a,b) returns the maximum of A and B. */
|
||||||
|
#ifndef MAX
|
||||||
|
# define MAX(a,b) ((a) > (b) ? (a) : (b))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* MIN(a,b) returns the minimum of A and B. */
|
||||||
|
#ifndef MIN
|
||||||
|
# define MIN(a,b) ((a) < (b) ? (a) : (b))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _MINMAX_H */
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright (C) 1998-1999, 2001, 2005-2007, 2009-2016 Free Software
|
/* Copyright (C) 1998-1999, 2001, 2005-2007, 2009-2017 Free Software
|
||||||
Foundation, Inc.
|
Foundation, Inc.
|
||||||
This file is derived from the one in the GNU C Library.
|
This file is derived from the one in the GNU C Library.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright (C) 1998-1999, 2001, 2005-2007, 2009-2016 Free Software
|
/* Copyright (C) 1998-1999, 2001, 2005-2007, 2009-2017 Free Software
|
||||||
Foundation, Inc.
|
Foundation, Inc.
|
||||||
This file is derived from the one in the GNU C Library.
|
This file is derived from the one in the GNU C Library.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Invalid parameter handler for MSVC runtime libraries.
|
/* Invalid parameter handler for MSVC runtime libraries.
|
||||||
Copyright (C) 2011-2016 Free Software Foundation, Inc.
|
Copyright (C) 2011-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Invalid parameter handler for MSVC runtime libraries.
|
/* Invalid parameter handler for MSVC runtime libraries.
|
||||||
Copyright (C) 2011-2016 Free Software Foundation, Inc.
|
Copyright (C) 2011-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Wrappers that don't throw invalid parameter notifications
|
/* Wrappers that don't throw invalid parameter notifications
|
||||||
with MSVC runtime libraries.
|
with MSVC runtime libraries.
|
||||||
Copyright (C) 2011-2016 Free Software Foundation, Inc.
|
Copyright (C) 2011-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Wrappers that don't throw invalid parameter notifications
|
/* Wrappers that don't throw invalid parameter notifications
|
||||||
with MSVC runtime libraries.
|
with MSVC runtime libraries.
|
||||||
Copyright (C) 2011-2016 Free Software Foundation, Inc.
|
Copyright (C) 2011-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Define PATH_MAX somehow. Requires sys/types.h.
|
/* Define PATH_MAX somehow. Requires sys/types.h.
|
||||||
Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2016 Free Software
|
Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2017 Free Software
|
||||||
Foundation, Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Decomposed printf argument list.
|
/* Decomposed printf argument list.
|
||||||
Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2016 Free Software
|
Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2017 Free Software
|
||||||
Foundation, Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Decomposed printf argument list.
|
/* Decomposed printf argument list.
|
||||||
Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2016 Free Software
|
Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2017 Free Software
|
||||||
Foundation, Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Formatted output to strings.
|
/* Formatted output to strings.
|
||||||
Copyright (C) 1999-2000, 2002-2003, 2006-2016 Free Software Foundation, Inc.
|
Copyright (C) 1999-2000, 2002-2003, 2006-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Parse printf format string.
|
/* Parse printf format string.
|
||||||
Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2016 Free Software
|
Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2017 Free Software
|
||||||
Foundation, Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Program name management.
|
/* Program name management.
|
||||||
Copyright (C) 2001-2003, 2005-2016 Free Software Foundation, Inc.
|
Copyright (C) 2001-2003, 2005-2017 Free Software Foundation, Inc.
|
||||||
Written by Bruno Haible <bruno@clisp.org>, 2001.
|
Written by Bruno Haible <bruno@clisp.org>, 2001.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Program name management.
|
/* Program name management.
|
||||||
Copyright (C) 2001-2004, 2006, 2009-2016 Free Software Foundation, Inc.
|
Copyright (C) 2001-2004, 2006, 2009-2017 Free Software Foundation, Inc.
|
||||||
Written by Bruno Haible <bruno@clisp.org>, 2001.
|
Written by Bruno Haible <bruno@clisp.org>, 2001.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* quote.h - prototypes for quote.c
|
/* quote.h - prototypes for quote.c
|
||||||
|
|
||||||
Copyright (C) 1998-2001, 2003, 2009-2016 Free Software Foundation, Inc.
|
Copyright (C) 1998-2001, 2003, 2009-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* quotearg.c - quote arguments for output
|
/* quotearg.c - quote arguments for output
|
||||||
|
|
||||||
Copyright (C) 1998-2002, 2004-2016 Free Software Foundation, Inc.
|
Copyright (C) 1998-2002, 2004-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
@ -29,6 +29,7 @@
|
||||||
#include "quotearg.h"
|
#include "quotearg.h"
|
||||||
#include "quote.h"
|
#include "quote.h"
|
||||||
|
|
||||||
|
#include "minmax.h"
|
||||||
#include "xalloc.h"
|
#include "xalloc.h"
|
||||||
#include "c-strcaseeq.h"
|
#include "c-strcaseeq.h"
|
||||||
#include "localcharset.h"
|
#include "localcharset.h"
|
||||||
|
|
@ -37,6 +38,7 @@
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
#include <stdint.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <wchar.h>
|
#include <wchar.h>
|
||||||
|
|
@ -252,12 +254,15 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
|
||||||
{
|
{
|
||||||
size_t i;
|
size_t i;
|
||||||
size_t len = 0;
|
size_t len = 0;
|
||||||
|
size_t orig_buffersize = 0;
|
||||||
char const *quote_string = 0;
|
char const *quote_string = 0;
|
||||||
size_t quote_string_len = 0;
|
size_t quote_string_len = 0;
|
||||||
bool backslash_escapes = false;
|
bool backslash_escapes = false;
|
||||||
bool unibyte_locale = MB_CUR_MAX == 1;
|
bool unibyte_locale = MB_CUR_MAX == 1;
|
||||||
bool elide_outer_quotes = (flags & QA_ELIDE_OUTER_QUOTES) != 0;
|
bool elide_outer_quotes = (flags & QA_ELIDE_OUTER_QUOTES) != 0;
|
||||||
bool pending_shell_escape_end = false;
|
bool pending_shell_escape_end = false;
|
||||||
|
bool encountered_single_quote = false;
|
||||||
|
bool all_c_and_shell_quote_compat = true;
|
||||||
|
|
||||||
#define STORE(c) \
|
#define STORE(c) \
|
||||||
do \
|
do \
|
||||||
|
|
@ -298,6 +303,8 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
|
||||||
} \
|
} \
|
||||||
while (0)
|
while (0)
|
||||||
|
|
||||||
|
process_input:
|
||||||
|
|
||||||
switch (quoting_style)
|
switch (quoting_style)
|
||||||
{
|
{
|
||||||
case c_maybe_quoting_style:
|
case c_maybe_quoting_style:
|
||||||
|
|
@ -388,6 +395,7 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
|
||||||
unsigned char esc;
|
unsigned char esc;
|
||||||
bool is_right_quote = false;
|
bool is_right_quote = false;
|
||||||
bool escaping = false;
|
bool escaping = false;
|
||||||
|
bool c_and_shell_quote_compat = false;
|
||||||
|
|
||||||
if (backslash_escapes
|
if (backslash_escapes
|
||||||
&& quoting_style != shell_always_quoting_style
|
&& quoting_style != shell_always_quoting_style
|
||||||
|
|
@ -515,6 +523,8 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
|
||||||
break;
|
break;
|
||||||
/* Fall through. */
|
/* Fall through. */
|
||||||
case ' ':
|
case ' ':
|
||||||
|
c_and_shell_quote_compat = true;
|
||||||
|
/* Fall through. */
|
||||||
case '!': /* special in bash */
|
case '!': /* special in bash */
|
||||||
case '"': case '$': case '&':
|
case '"': case '$': case '&':
|
||||||
case '(': case ')': case '*': case ';':
|
case '(': case ')': case '*': case ';':
|
||||||
|
|
@ -533,10 +543,22 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case '\'':
|
case '\'':
|
||||||
|
encountered_single_quote = true;
|
||||||
|
c_and_shell_quote_compat = true;
|
||||||
if (quoting_style == shell_always_quoting_style)
|
if (quoting_style == shell_always_quoting_style)
|
||||||
{
|
{
|
||||||
if (elide_outer_quotes)
|
if (elide_outer_quotes)
|
||||||
goto force_outer_quoting_style;
|
goto force_outer_quoting_style;
|
||||||
|
|
||||||
|
if (buffersize && ! orig_buffersize)
|
||||||
|
{
|
||||||
|
/* Just scan string to see if supports a more concise
|
||||||
|
representation, rather than writing a longer string
|
||||||
|
but returning the length of the more concise form. */
|
||||||
|
orig_buffersize = buffersize;
|
||||||
|
buffersize = 0;
|
||||||
|
}
|
||||||
|
|
||||||
STORE ('\'');
|
STORE ('\'');
|
||||||
STORE ('\\');
|
STORE ('\\');
|
||||||
STORE ('\'');
|
STORE ('\'');
|
||||||
|
|
@ -566,6 +588,7 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
|
||||||
them. Also, a digit or a special letter would cause
|
them. Also, a digit or a special letter would cause
|
||||||
trouble if it appeared in quote_these_too, but that's also
|
trouble if it appeared in quote_these_too, but that's also
|
||||||
documented as not accepting them. */
|
documented as not accepting them. */
|
||||||
|
c_and_shell_quote_compat = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
@ -644,6 +667,8 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
|
||||||
while (! mbsinit (&mbstate));
|
while (! mbsinit (&mbstate));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
c_and_shell_quote_compat = printable;
|
||||||
|
|
||||||
if (1 < m || (backslash_escapes && ! printable))
|
if (1 < m || (backslash_escapes && ! printable))
|
||||||
{
|
{
|
||||||
/* Output a multibyte sequence, or an escaped
|
/* Output a multibyte sequence, or an escaped
|
||||||
|
|
@ -689,12 +714,36 @@ quotearg_buffer_restyled (char *buffer, size_t buffersize,
|
||||||
store_c:
|
store_c:
|
||||||
END_ESC ();
|
END_ESC ();
|
||||||
STORE (c);
|
STORE (c);
|
||||||
|
|
||||||
|
if (! c_and_shell_quote_compat)
|
||||||
|
all_c_and_shell_quote_compat = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (len == 0 && quoting_style == shell_always_quoting_style
|
if (len == 0 && quoting_style == shell_always_quoting_style
|
||||||
&& elide_outer_quotes)
|
&& elide_outer_quotes)
|
||||||
goto force_outer_quoting_style;
|
goto force_outer_quoting_style;
|
||||||
|
|
||||||
|
/* Single shell quotes (') are commonly enough used as an apostrophe,
|
||||||
|
that we attempt to minimize the quoting in this case. Note itʼs
|
||||||
|
better to use the apostrophe modifier "\u02BC" if possible, as that
|
||||||
|
renders better and works with the word match regex \W+ etc. */
|
||||||
|
if (quoting_style == shell_always_quoting_style && ! elide_outer_quotes
|
||||||
|
&& encountered_single_quote)
|
||||||
|
{
|
||||||
|
if (all_c_and_shell_quote_compat)
|
||||||
|
return quotearg_buffer_restyled (buffer, orig_buffersize, arg, argsize,
|
||||||
|
c_quoting_style,
|
||||||
|
flags, quote_these_too,
|
||||||
|
left_quote, right_quote);
|
||||||
|
else if (! buffersize && orig_buffersize)
|
||||||
|
{
|
||||||
|
/* Disable read-only scan, and reprocess to write quoted string. */
|
||||||
|
buffersize = orig_buffersize;
|
||||||
|
len = 0;
|
||||||
|
goto process_input;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (quote_string && !elide_outer_quotes)
|
if (quote_string && !elide_outer_quotes)
|
||||||
for (; *quote_string; quote_string++)
|
for (; *quote_string; quote_string++)
|
||||||
STORE (*quote_string);
|
STORE (*quote_string);
|
||||||
|
|
@ -783,7 +832,7 @@ struct slotvec
|
||||||
/* Preallocate a slot 0 buffer, so that the caller can always quote
|
/* Preallocate a slot 0 buffer, so that the caller can always quote
|
||||||
one small component of a "memory exhausted" message in slot 0. */
|
one small component of a "memory exhausted" message in slot 0. */
|
||||||
static char slot0[256];
|
static char slot0[256];
|
||||||
static unsigned int nslots = 1;
|
static int nslots = 1;
|
||||||
static struct slotvec slotvec0 = {sizeof slot0, slot0};
|
static struct slotvec slotvec0 = {sizeof slot0, slot0};
|
||||||
static struct slotvec *slotvec = &slotvec0;
|
static struct slotvec *slotvec = &slotvec0;
|
||||||
|
|
||||||
|
|
@ -791,7 +840,7 @@ void
|
||||||
quotearg_free (void)
|
quotearg_free (void)
|
||||||
{
|
{
|
||||||
struct slotvec *sv = slotvec;
|
struct slotvec *sv = slotvec;
|
||||||
unsigned int i;
|
int i;
|
||||||
for (i = 1; i < nslots; i++)
|
for (i = 1; i < nslots; i++)
|
||||||
free (sv[i].val);
|
free (sv[i].val);
|
||||||
if (sv[0].val != slot0)
|
if (sv[0].val != slot0)
|
||||||
|
|
@ -822,30 +871,23 @@ quotearg_n_options (int n, char const *arg, size_t argsize,
|
||||||
{
|
{
|
||||||
int e = errno;
|
int e = errno;
|
||||||
|
|
||||||
unsigned int n0 = n;
|
|
||||||
struct slotvec *sv = slotvec;
|
struct slotvec *sv = slotvec;
|
||||||
|
|
||||||
if (n < 0)
|
if (n < 0)
|
||||||
abort ();
|
abort ();
|
||||||
|
|
||||||
if (nslots <= n0)
|
if (nslots <= n)
|
||||||
{
|
{
|
||||||
/* FIXME: technically, the type of n1 should be 'unsigned int',
|
|
||||||
but that evokes an unsuppressible warning from gcc-4.0.1 and
|
|
||||||
older. If gcc ever provides an option to suppress that warning,
|
|
||||||
revert to the original type, so that the test in xalloc_oversized
|
|
||||||
is once again performed only at compile time. */
|
|
||||||
size_t n1 = n0 + 1;
|
|
||||||
bool preallocated = (sv == &slotvec0);
|
bool preallocated = (sv == &slotvec0);
|
||||||
|
|
||||||
if (xalloc_oversized (n1, sizeof *sv))
|
if (MIN (INT_MAX, MIN (PTRDIFF_MAX, SIZE_MAX) / sizeof *sv) <= n)
|
||||||
xalloc_die ();
|
xalloc_die ();
|
||||||
|
|
||||||
slotvec = sv = xrealloc (preallocated ? NULL : sv, n1 * sizeof *sv);
|
slotvec = sv = xrealloc (preallocated ? NULL : sv, (n + 1) * sizeof *sv);
|
||||||
if (preallocated)
|
if (preallocated)
|
||||||
*sv = slotvec0;
|
*sv = slotvec0;
|
||||||
memset (sv + nslots, 0, (n1 - nslots) * sizeof *sv);
|
memset (sv + nslots, 0, (n + 1 - nslots) * sizeof *sv);
|
||||||
nslots = n1;
|
nslots = n + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* quotearg.h - quote arguments for output
|
/* quotearg.h - quote arguments for output
|
||||||
|
|
||||||
Copyright (C) 1998-2002, 2004, 2006, 2008-2016 Free Software Foundation,
|
Copyright (C) 1998-2002, 2004, 2006, 2008-2017 Free Software Foundation,
|
||||||
Inc.
|
Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Searching in a string.
|
/* Searching in a string.
|
||||||
Copyright (C) 2008-2016 Free Software Foundation, Inc.
|
Copyright (C) 2008-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Add this package to a list of references stored in a text file.
|
# Add this package to a list of references stored in a text file.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2000, 2009-2016 Free Software Foundation, Inc.
|
# Copyright (C) 2000, 2009-2017 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Remove this package from a list of references stored in a text file.
|
# Remove this package from a list of references stored in a text file.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2000, 2009-2016 Free Software Foundation, Inc.
|
# Copyright (C) 2000, 2009-2017 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Look up an environment variable, returning NULL in insecure situations.
|
/* Look up an environment variable, returning NULL in insecure situations.
|
||||||
|
|
||||||
Copyright 2013-2016 Free Software Foundation, Inc.
|
Copyright 2013-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify it
|
This program is free software: you can redistribute it and/or modify it
|
||||||
under the terms of the GNU General Public License as published
|
under the terms of the GNU General Public License as published
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* size_max.h -- declare SIZE_MAX through system headers
|
/* size_max.h -- declare SIZE_MAX through system headers
|
||||||
Copyright (C) 2005-2006, 2009-2016 Free Software Foundation, Inc.
|
Copyright (C) 2005-2006, 2009-2017 Free Software Foundation, Inc.
|
||||||
Written by Simon Josefsson.
|
Written by Simon Josefsson.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Pausing execution of the current thread.
|
/* Pausing execution of the current thread.
|
||||||
Copyright (C) 2007, 2009-2016 Free Software Foundation, Inc.
|
Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc.
|
||||||
Written by Bruno Haible <bruno@clisp.org>, 2007.
|
Written by Bruno Haible <bruno@clisp.org>, 2007.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Work around platform bugs in stat.
|
/* Work around platform bugs in stat.
|
||||||
Copyright (C) 2009-2016 Free Software Foundation, Inc.
|
Copyright (C) 2009-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* A substitute for ISO C11 <stdalign.h>.
|
/* A substitute for ISO C11 <stdalign.h>.
|
||||||
|
|
||||||
Copyright 2011-2016 Free Software Foundation, Inc.
|
Copyright 2011-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright (C) 2001-2003, 2006-2016 Free Software Foundation, Inc.
|
/* Copyright (C) 2001-2003, 2006-2017 Free Software Foundation, Inc.
|
||||||
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
|
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues.
|
/* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues.
|
||||||
|
|
||||||
Copyright (C) 2009-2016 Free Software Foundation, Inc.
|
Copyright (C) 2009-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
736
lib/stdint.in.h
736
lib/stdint.in.h
|
|
@ -1,4 +1,4 @@
|
||||||
/* Copyright (C) 2001-2002, 2004-2016 Free Software Foundation, Inc.
|
/* Copyright (C) 2001-2002, 2004-2017 Free Software Foundation, Inc.
|
||||||
Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
|
Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
|
||||||
This file is part of gnulib.
|
This file is part of gnulib.
|
||||||
|
|
||||||
|
|
@ -79,49 +79,60 @@
|
||||||
#if ! defined _@GUARD_PREFIX@_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
|
#if ! defined _@GUARD_PREFIX@_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
|
||||||
#define _@GUARD_PREFIX@_STDINT_H
|
#define _@GUARD_PREFIX@_STDINT_H
|
||||||
|
|
||||||
|
/* Get SCHAR_MIN, SCHAR_MAX, UCHAR_MAX, INT_MIN, INT_MAX,
|
||||||
|
LONG_MIN, LONG_MAX, ULONG_MAX, _GL_INTEGER_WIDTH. */
|
||||||
|
#include <limits.h>
|
||||||
|
|
||||||
|
/* Override WINT_MIN and WINT_MAX if gnulib's <wchar.h> or <wctype.h> overrides
|
||||||
|
wint_t. */
|
||||||
|
#if @GNULIB_OVERRIDES_WINT_T@
|
||||||
|
# undef WINT_MIN
|
||||||
|
# undef WINT_MAX
|
||||||
|
# define WINT_MIN 0x0U
|
||||||
|
# define WINT_MAX 0xffffffffU
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ! @HAVE_C99_STDINT_H@
|
||||||
|
|
||||||
/* <sys/types.h> defines some of the stdint.h types as well, on glibc,
|
/* <sys/types.h> defines some of the stdint.h types as well, on glibc,
|
||||||
IRIX 6.5, and OpenBSD 3.8 (via <machine/types.h>).
|
IRIX 6.5, and OpenBSD 3.8 (via <machine/types.h>).
|
||||||
AIX 5.2 <sys/types.h> isn't needed and causes troubles.
|
AIX 5.2 <sys/types.h> isn't needed and causes troubles.
|
||||||
Mac OS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but
|
Mac OS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but
|
||||||
relies on the system <stdint.h> definitions, so include
|
relies on the system <stdint.h> definitions, so include
|
||||||
<sys/types.h> after @NEXT_STDINT_H@. */
|
<sys/types.h> after @NEXT_STDINT_H@. */
|
||||||
#if @HAVE_SYS_TYPES_H@ && ! defined _AIX
|
# if @HAVE_SYS_TYPES_H@ && ! defined _AIX
|
||||||
# include <sys/types.h>
|
# include <sys/types.h>
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
/* Get SCHAR_MIN, SCHAR_MAX, UCHAR_MAX, INT_MIN, INT_MAX,
|
# if @HAVE_INTTYPES_H@
|
||||||
LONG_MIN, LONG_MAX, ULONG_MAX. */
|
|
||||||
#include <limits.h>
|
|
||||||
|
|
||||||
#if @HAVE_INTTYPES_H@
|
|
||||||
/* In OpenBSD 3.8, <inttypes.h> includes <machine/types.h>, which defines
|
/* In OpenBSD 3.8, <inttypes.h> includes <machine/types.h>, which defines
|
||||||
int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__.
|
int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__.
|
||||||
<inttypes.h> also defines intptr_t and uintptr_t. */
|
<inttypes.h> also defines intptr_t and uintptr_t. */
|
||||||
# include <inttypes.h>
|
# include <inttypes.h>
|
||||||
#elif @HAVE_SYS_INTTYPES_H@
|
# elif @HAVE_SYS_INTTYPES_H@
|
||||||
/* Solaris 7 <sys/inttypes.h> has the types except the *_fast*_t types, and
|
/* Solaris 7 <sys/inttypes.h> has the types except the *_fast*_t types, and
|
||||||
the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX. */
|
the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX. */
|
||||||
# include <sys/inttypes.h>
|
# include <sys/inttypes.h>
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
#if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__
|
# if @HAVE_SYS_BITYPES_H@ && ! defined __BIT_TYPES_DEFINED__
|
||||||
/* Linux libc4 >= 4.6.7 and libc5 have a <sys/bitypes.h> that defines
|
/* Linux libc4 >= 4.6.7 and libc5 have a <sys/bitypes.h> that defines
|
||||||
int{8,16,32,64}_t and __BIT_TYPES_DEFINED__. In libc5 >= 5.2.2 it is
|
int{8,16,32,64}_t and __BIT_TYPES_DEFINED__. In libc5 >= 5.2.2 it is
|
||||||
included by <sys/types.h>. */
|
included by <sys/types.h>. */
|
||||||
# include <sys/bitypes.h>
|
# include <sys/bitypes.h>
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
#undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
|
# undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
|
||||||
|
|
||||||
/* Minimum and maximum values for an integer type under the usual assumption.
|
/* Minimum and maximum values for an integer type under the usual assumption.
|
||||||
Return an unspecified value if BITS == 0, adding a check to pacify
|
Return an unspecified value if BITS == 0, adding a check to pacify
|
||||||
picky compilers. */
|
picky compilers. */
|
||||||
|
|
||||||
#define _STDINT_MIN(signed, bits, zero) \
|
# define _STDINT_MIN(signed, bits, zero) \
|
||||||
((signed) ? ~ _STDINT_MAX (signed, bits, zero) : (zero))
|
((signed) ? ~ _STDINT_MAX (signed, bits, zero) : (zero))
|
||||||
|
|
||||||
#define _STDINT_MAX(signed, bits, zero) \
|
# define _STDINT_MAX(signed, bits, zero) \
|
||||||
(((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1)
|
(((((zero) + 1) << ((bits) ? (bits) - 1 - (signed) : 0)) - 1) * 2 + 1)
|
||||||
|
|
||||||
#if !GNULIB_defined_stdint_types
|
#if !GNULIB_defined_stdint_types
|
||||||
|
|
||||||
|
|
@ -130,26 +141,26 @@
|
||||||
/* Here we assume a standard architecture where the hardware integer
|
/* Here we assume a standard architecture where the hardware integer
|
||||||
types have 8, 16, 32, optionally 64 bits. */
|
types have 8, 16, 32, optionally 64 bits. */
|
||||||
|
|
||||||
#undef int8_t
|
# undef int8_t
|
||||||
#undef uint8_t
|
# undef uint8_t
|
||||||
typedef signed char gl_int8_t;
|
typedef signed char gl_int8_t;
|
||||||
typedef unsigned char gl_uint8_t;
|
typedef unsigned char gl_uint8_t;
|
||||||
#define int8_t gl_int8_t
|
# define int8_t gl_int8_t
|
||||||
#define uint8_t gl_uint8_t
|
# define uint8_t gl_uint8_t
|
||||||
|
|
||||||
#undef int16_t
|
# undef int16_t
|
||||||
#undef uint16_t
|
# undef uint16_t
|
||||||
typedef short int gl_int16_t;
|
typedef short int gl_int16_t;
|
||||||
typedef unsigned short int gl_uint16_t;
|
typedef unsigned short int gl_uint16_t;
|
||||||
#define int16_t gl_int16_t
|
# define int16_t gl_int16_t
|
||||||
#define uint16_t gl_uint16_t
|
# define uint16_t gl_uint16_t
|
||||||
|
|
||||||
#undef int32_t
|
# undef int32_t
|
||||||
#undef uint32_t
|
# undef uint32_t
|
||||||
typedef int gl_int32_t;
|
typedef int gl_int32_t;
|
||||||
typedef unsigned int gl_uint32_t;
|
typedef unsigned int gl_uint32_t;
|
||||||
#define int32_t gl_int32_t
|
# define int32_t gl_int32_t
|
||||||
#define uint32_t gl_uint32_t
|
# define uint32_t gl_uint32_t
|
||||||
|
|
||||||
/* If the system defines INT64_MAX, assume int64_t works. That way,
|
/* If the system defines INT64_MAX, assume int64_t works. That way,
|
||||||
if the underlying platform defines int64_t to be a 64-bit long long
|
if the underlying platform defines int64_t to be a 64-bit long long
|
||||||
|
|
@ -157,54 +168,54 @@ typedef unsigned int gl_uint32_t;
|
||||||
int, which would mess up C++ name mangling. We must use #ifdef
|
int, which would mess up C++ name mangling. We must use #ifdef
|
||||||
rather than #if, to avoid an error with HP-UX 10.20 cc. */
|
rather than #if, to avoid an error with HP-UX 10.20 cc. */
|
||||||
|
|
||||||
#ifdef INT64_MAX
|
# ifdef INT64_MAX
|
||||||
# define GL_INT64_T
|
# define GL_INT64_T
|
||||||
#else
|
# else
|
||||||
/* Do not undefine int64_t if gnulib is not being used with 64-bit
|
/* Do not undefine int64_t if gnulib is not being used with 64-bit
|
||||||
types, since otherwise it breaks platforms like Tandem/NSK. */
|
types, since otherwise it breaks platforms like Tandem/NSK. */
|
||||||
# if LONG_MAX >> 31 >> 31 == 1
|
# if LONG_MAX >> 31 >> 31 == 1
|
||||||
# undef int64_t
|
# undef int64_t
|
||||||
typedef long int gl_int64_t;
|
typedef long int gl_int64_t;
|
||||||
# define int64_t gl_int64_t
|
# define int64_t gl_int64_t
|
||||||
# define GL_INT64_T
|
# define GL_INT64_T
|
||||||
# elif defined _MSC_VER
|
# elif defined _MSC_VER
|
||||||
# undef int64_t
|
# undef int64_t
|
||||||
typedef __int64 gl_int64_t;
|
typedef __int64 gl_int64_t;
|
||||||
# define int64_t gl_int64_t
|
# define int64_t gl_int64_t
|
||||||
# define GL_INT64_T
|
# define GL_INT64_T
|
||||||
# elif @HAVE_LONG_LONG_INT@
|
# elif @HAVE_LONG_LONG_INT@
|
||||||
# undef int64_t
|
# undef int64_t
|
||||||
typedef long long int gl_int64_t;
|
typedef long long int gl_int64_t;
|
||||||
# define int64_t gl_int64_t
|
# define int64_t gl_int64_t
|
||||||
# define GL_INT64_T
|
# define GL_INT64_T
|
||||||
|
# endif
|
||||||
# endif
|
# endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef UINT64_MAX
|
# ifdef UINT64_MAX
|
||||||
# define GL_UINT64_T
|
# define GL_UINT64_T
|
||||||
#else
|
# else
|
||||||
# if ULONG_MAX >> 31 >> 31 >> 1 == 1
|
# if ULONG_MAX >> 31 >> 31 >> 1 == 1
|
||||||
# undef uint64_t
|
# undef uint64_t
|
||||||
typedef unsigned long int gl_uint64_t;
|
typedef unsigned long int gl_uint64_t;
|
||||||
# define uint64_t gl_uint64_t
|
# define uint64_t gl_uint64_t
|
||||||
# define GL_UINT64_T
|
# define GL_UINT64_T
|
||||||
# elif defined _MSC_VER
|
# elif defined _MSC_VER
|
||||||
# undef uint64_t
|
# undef uint64_t
|
||||||
typedef unsigned __int64 gl_uint64_t;
|
typedef unsigned __int64 gl_uint64_t;
|
||||||
# define uint64_t gl_uint64_t
|
# define uint64_t gl_uint64_t
|
||||||
# define GL_UINT64_T
|
# define GL_UINT64_T
|
||||||
# elif @HAVE_UNSIGNED_LONG_LONG_INT@
|
# elif @HAVE_UNSIGNED_LONG_LONG_INT@
|
||||||
# undef uint64_t
|
# undef uint64_t
|
||||||
typedef unsigned long long int gl_uint64_t;
|
typedef unsigned long long int gl_uint64_t;
|
||||||
# define uint64_t gl_uint64_t
|
# define uint64_t gl_uint64_t
|
||||||
# define GL_UINT64_T
|
# define GL_UINT64_T
|
||||||
|
# endif
|
||||||
# endif
|
# endif
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Avoid collision with Solaris 2.5.1 <pthread.h> etc. */
|
/* Avoid collision with Solaris 2.5.1 <pthread.h> etc. */
|
||||||
#define _UINT8_T
|
# define _UINT8_T
|
||||||
#define _UINT32_T
|
# define _UINT32_T
|
||||||
#define _UINT64_T
|
# define _UINT64_T
|
||||||
|
|
||||||
|
|
||||||
/* 7.18.1.2. Minimum-width integer types */
|
/* 7.18.1.2. Minimum-width integer types */
|
||||||
|
|
@ -213,26 +224,26 @@ typedef unsigned long long int gl_uint64_t;
|
||||||
types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types
|
types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types
|
||||||
are the same as the corresponding N_t types. */
|
are the same as the corresponding N_t types. */
|
||||||
|
|
||||||
#undef int_least8_t
|
# undef int_least8_t
|
||||||
#undef uint_least8_t
|
# undef uint_least8_t
|
||||||
#undef int_least16_t
|
# undef int_least16_t
|
||||||
#undef uint_least16_t
|
# undef uint_least16_t
|
||||||
#undef int_least32_t
|
# undef int_least32_t
|
||||||
#undef uint_least32_t
|
# undef uint_least32_t
|
||||||
#undef int_least64_t
|
# undef int_least64_t
|
||||||
#undef uint_least64_t
|
# undef uint_least64_t
|
||||||
#define int_least8_t int8_t
|
# define int_least8_t int8_t
|
||||||
#define uint_least8_t uint8_t
|
# define uint_least8_t uint8_t
|
||||||
#define int_least16_t int16_t
|
# define int_least16_t int16_t
|
||||||
#define uint_least16_t uint16_t
|
# define uint_least16_t uint16_t
|
||||||
#define int_least32_t int32_t
|
# define int_least32_t int32_t
|
||||||
#define uint_least32_t uint32_t
|
# define uint_least32_t uint32_t
|
||||||
#ifdef GL_INT64_T
|
# ifdef GL_INT64_T
|
||||||
# define int_least64_t int64_t
|
# define int_least64_t int64_t
|
||||||
#endif
|
# endif
|
||||||
#ifdef GL_UINT64_T
|
# ifdef GL_UINT64_T
|
||||||
# define uint_least64_t uint64_t
|
# define uint_least64_t uint64_t
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
/* 7.18.1.3. Fastest minimum-width integer types */
|
/* 7.18.1.3. Fastest minimum-width integer types */
|
||||||
|
|
||||||
|
|
@ -245,55 +256,55 @@ typedef unsigned long long int gl_uint64_t;
|
||||||
uses types consistent with glibc, as that lessens the chance of
|
uses types consistent with glibc, as that lessens the chance of
|
||||||
incompatibility with older GNU hosts. */
|
incompatibility with older GNU hosts. */
|
||||||
|
|
||||||
#undef int_fast8_t
|
# undef int_fast8_t
|
||||||
#undef uint_fast8_t
|
# undef uint_fast8_t
|
||||||
#undef int_fast16_t
|
# undef int_fast16_t
|
||||||
#undef uint_fast16_t
|
# undef uint_fast16_t
|
||||||
#undef int_fast32_t
|
# undef int_fast32_t
|
||||||
#undef uint_fast32_t
|
# undef uint_fast32_t
|
||||||
#undef int_fast64_t
|
# undef int_fast64_t
|
||||||
#undef uint_fast64_t
|
# undef uint_fast64_t
|
||||||
typedef signed char gl_int_fast8_t;
|
typedef signed char gl_int_fast8_t;
|
||||||
typedef unsigned char gl_uint_fast8_t;
|
typedef unsigned char gl_uint_fast8_t;
|
||||||
|
|
||||||
#ifdef __sun
|
# ifdef __sun
|
||||||
/* Define types compatible with SunOS 5.10, so that code compiled under
|
/* Define types compatible with SunOS 5.10, so that code compiled under
|
||||||
earlier SunOS versions works with code compiled under SunOS 5.10. */
|
earlier SunOS versions works with code compiled under SunOS 5.10. */
|
||||||
typedef int gl_int_fast32_t;
|
typedef int gl_int_fast32_t;
|
||||||
typedef unsigned int gl_uint_fast32_t;
|
typedef unsigned int gl_uint_fast32_t;
|
||||||
#else
|
# else
|
||||||
typedef long int gl_int_fast32_t;
|
typedef long int gl_int_fast32_t;
|
||||||
typedef unsigned long int gl_uint_fast32_t;
|
typedef unsigned long int gl_uint_fast32_t;
|
||||||
#endif
|
# endif
|
||||||
typedef gl_int_fast32_t gl_int_fast16_t;
|
typedef gl_int_fast32_t gl_int_fast16_t;
|
||||||
typedef gl_uint_fast32_t gl_uint_fast16_t;
|
typedef gl_uint_fast32_t gl_uint_fast16_t;
|
||||||
|
|
||||||
#define int_fast8_t gl_int_fast8_t
|
# define int_fast8_t gl_int_fast8_t
|
||||||
#define uint_fast8_t gl_uint_fast8_t
|
# define uint_fast8_t gl_uint_fast8_t
|
||||||
#define int_fast16_t gl_int_fast16_t
|
# define int_fast16_t gl_int_fast16_t
|
||||||
#define uint_fast16_t gl_uint_fast16_t
|
# define uint_fast16_t gl_uint_fast16_t
|
||||||
#define int_fast32_t gl_int_fast32_t
|
# define int_fast32_t gl_int_fast32_t
|
||||||
#define uint_fast32_t gl_uint_fast32_t
|
# define uint_fast32_t gl_uint_fast32_t
|
||||||
#ifdef GL_INT64_T
|
# ifdef GL_INT64_T
|
||||||
# define int_fast64_t int64_t
|
# define int_fast64_t int64_t
|
||||||
#endif
|
# endif
|
||||||
#ifdef GL_UINT64_T
|
# ifdef GL_UINT64_T
|
||||||
# define uint_fast64_t uint64_t
|
# define uint_fast64_t uint64_t
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
/* 7.18.1.4. Integer types capable of holding object pointers */
|
/* 7.18.1.4. Integer types capable of holding object pointers */
|
||||||
|
|
||||||
/* kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
|
/* kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
|
||||||
definitions of intptr_t and uintptr_t (which use int and unsigned)
|
definitions of intptr_t and uintptr_t (which use int and unsigned)
|
||||||
to avoid clashes with declarations of system functions like sbrk. */
|
to avoid clashes with declarations of system functions like sbrk. */
|
||||||
#ifndef _INTPTR_T_DECLARED
|
# ifndef _INTPTR_T_DECLARED
|
||||||
#undef intptr_t
|
# undef intptr_t
|
||||||
#undef uintptr_t
|
# undef uintptr_t
|
||||||
typedef long int gl_intptr_t;
|
typedef long int gl_intptr_t;
|
||||||
typedef unsigned long int gl_uintptr_t;
|
typedef unsigned long int gl_uintptr_t;
|
||||||
#define intptr_t gl_intptr_t
|
# define intptr_t gl_intptr_t
|
||||||
#define uintptr_t gl_uintptr_t
|
# define uintptr_t gl_uintptr_t
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
/* 7.18.1.5. Greatest-width integer types */
|
/* 7.18.1.5. Greatest-width integer types */
|
||||||
|
|
||||||
|
|
@ -304,33 +315,33 @@ typedef unsigned long int gl_uintptr_t;
|
||||||
similarly for UINTMAX_MAX and uintmax_t. This avoids problems with
|
similarly for UINTMAX_MAX and uintmax_t. This avoids problems with
|
||||||
assuming one type where another is used by the system. */
|
assuming one type where another is used by the system. */
|
||||||
|
|
||||||
#ifndef INTMAX_MAX
|
# ifndef INTMAX_MAX
|
||||||
# undef INTMAX_C
|
# undef INTMAX_C
|
||||||
# undef intmax_t
|
# undef intmax_t
|
||||||
# if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
|
# if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
|
||||||
typedef long long int gl_intmax_t;
|
typedef long long int gl_intmax_t;
|
||||||
# define intmax_t gl_intmax_t
|
# define intmax_t gl_intmax_t
|
||||||
# elif defined GL_INT64_T
|
# elif defined GL_INT64_T
|
||||||
# define intmax_t int64_t
|
# define intmax_t int64_t
|
||||||
# else
|
# else
|
||||||
typedef long int gl_intmax_t;
|
typedef long int gl_intmax_t;
|
||||||
# define intmax_t gl_intmax_t
|
# define intmax_t gl_intmax_t
|
||||||
|
# endif
|
||||||
# endif
|
# endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef UINTMAX_MAX
|
# ifndef UINTMAX_MAX
|
||||||
# undef UINTMAX_C
|
# undef UINTMAX_C
|
||||||
# undef uintmax_t
|
# undef uintmax_t
|
||||||
# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
|
# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
|
||||||
typedef unsigned long long int gl_uintmax_t;
|
typedef unsigned long long int gl_uintmax_t;
|
||||||
# define uintmax_t gl_uintmax_t
|
# define uintmax_t gl_uintmax_t
|
||||||
# elif defined GL_UINT64_T
|
# elif defined GL_UINT64_T
|
||||||
# define uintmax_t uint64_t
|
# define uintmax_t uint64_t
|
||||||
# else
|
# else
|
||||||
typedef unsigned long int gl_uintmax_t;
|
typedef unsigned long int gl_uintmax_t;
|
||||||
# define uintmax_t gl_uintmax_t
|
# define uintmax_t gl_uintmax_t
|
||||||
|
# endif
|
||||||
# endif
|
# endif
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Verify that intmax_t and uintmax_t have the same size. Too much code
|
/* Verify that intmax_t and uintmax_t have the same size. Too much code
|
||||||
breaks if this is not the case. If this check fails, the reason is likely
|
breaks if this is not the case. If this check fails, the reason is likely
|
||||||
|
|
@ -338,8 +349,8 @@ typedef unsigned long int gl_uintmax_t;
|
||||||
typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
|
typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
|
||||||
? 1 : -1];
|
? 1 : -1];
|
||||||
|
|
||||||
#define GNULIB_defined_stdint_types 1
|
# define GNULIB_defined_stdint_types 1
|
||||||
#endif /* !GNULIB_defined_stdint_types */
|
# endif /* !GNULIB_defined_stdint_types */
|
||||||
|
|
||||||
/* 7.18.2. Limits of specified-width integer types */
|
/* 7.18.2. Limits of specified-width integer types */
|
||||||
|
|
||||||
|
|
@ -348,37 +359,37 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
|
||||||
/* Here we assume a standard architecture where the hardware integer
|
/* Here we assume a standard architecture where the hardware integer
|
||||||
types have 8, 16, 32, optionally 64 bits. */
|
types have 8, 16, 32, optionally 64 bits. */
|
||||||
|
|
||||||
#undef INT8_MIN
|
# undef INT8_MIN
|
||||||
#undef INT8_MAX
|
# undef INT8_MAX
|
||||||
#undef UINT8_MAX
|
# undef UINT8_MAX
|
||||||
#define INT8_MIN (~ INT8_MAX)
|
# define INT8_MIN (~ INT8_MAX)
|
||||||
#define INT8_MAX 127
|
# define INT8_MAX 127
|
||||||
#define UINT8_MAX 255
|
# define UINT8_MAX 255
|
||||||
|
|
||||||
#undef INT16_MIN
|
# undef INT16_MIN
|
||||||
#undef INT16_MAX
|
# undef INT16_MAX
|
||||||
#undef UINT16_MAX
|
# undef UINT16_MAX
|
||||||
#define INT16_MIN (~ INT16_MAX)
|
# define INT16_MIN (~ INT16_MAX)
|
||||||
#define INT16_MAX 32767
|
# define INT16_MAX 32767
|
||||||
#define UINT16_MAX 65535
|
# define UINT16_MAX 65535
|
||||||
|
|
||||||
#undef INT32_MIN
|
# undef INT32_MIN
|
||||||
#undef INT32_MAX
|
# undef INT32_MAX
|
||||||
#undef UINT32_MAX
|
# undef UINT32_MAX
|
||||||
#define INT32_MIN (~ INT32_MAX)
|
# define INT32_MIN (~ INT32_MAX)
|
||||||
#define INT32_MAX 2147483647
|
# define INT32_MAX 2147483647
|
||||||
#define UINT32_MAX 4294967295U
|
# define UINT32_MAX 4294967295U
|
||||||
|
|
||||||
#if defined GL_INT64_T && ! defined INT64_MAX
|
# if defined GL_INT64_T && ! defined INT64_MAX
|
||||||
/* Prefer (- INTMAX_C (1) << 63) over (~ INT64_MAX) because SunPRO C 5.0
|
/* Prefer (- INTMAX_C (1) << 63) over (~ INT64_MAX) because SunPRO C 5.0
|
||||||
evaluates the latter incorrectly in preprocessor expressions. */
|
evaluates the latter incorrectly in preprocessor expressions. */
|
||||||
# define INT64_MIN (- INTMAX_C (1) << 63)
|
# define INT64_MIN (- INTMAX_C (1) << 63)
|
||||||
# define INT64_MAX INTMAX_C (9223372036854775807)
|
# define INT64_MAX INTMAX_C (9223372036854775807)
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
#if defined GL_UINT64_T && ! defined UINT64_MAX
|
# if defined GL_UINT64_T && ! defined UINT64_MAX
|
||||||
# define UINT64_MAX UINTMAX_C (18446744073709551615)
|
# define UINT64_MAX UINTMAX_C (18446744073709551615)
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
/* 7.18.2.2. Limits of minimum-width integer types */
|
/* 7.18.2.2. Limits of minimum-width integer types */
|
||||||
|
|
||||||
|
|
@ -386,38 +397,38 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
|
||||||
types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types
|
types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types
|
||||||
are the same as the corresponding N_t types. */
|
are the same as the corresponding N_t types. */
|
||||||
|
|
||||||
#undef INT_LEAST8_MIN
|
# undef INT_LEAST8_MIN
|
||||||
#undef INT_LEAST8_MAX
|
# undef INT_LEAST8_MAX
|
||||||
#undef UINT_LEAST8_MAX
|
# undef UINT_LEAST8_MAX
|
||||||
#define INT_LEAST8_MIN INT8_MIN
|
# define INT_LEAST8_MIN INT8_MIN
|
||||||
#define INT_LEAST8_MAX INT8_MAX
|
# define INT_LEAST8_MAX INT8_MAX
|
||||||
#define UINT_LEAST8_MAX UINT8_MAX
|
# define UINT_LEAST8_MAX UINT8_MAX
|
||||||
|
|
||||||
#undef INT_LEAST16_MIN
|
# undef INT_LEAST16_MIN
|
||||||
#undef INT_LEAST16_MAX
|
# undef INT_LEAST16_MAX
|
||||||
#undef UINT_LEAST16_MAX
|
# undef UINT_LEAST16_MAX
|
||||||
#define INT_LEAST16_MIN INT16_MIN
|
# define INT_LEAST16_MIN INT16_MIN
|
||||||
#define INT_LEAST16_MAX INT16_MAX
|
# define INT_LEAST16_MAX INT16_MAX
|
||||||
#define UINT_LEAST16_MAX UINT16_MAX
|
# define UINT_LEAST16_MAX UINT16_MAX
|
||||||
|
|
||||||
#undef INT_LEAST32_MIN
|
# undef INT_LEAST32_MIN
|
||||||
#undef INT_LEAST32_MAX
|
# undef INT_LEAST32_MAX
|
||||||
#undef UINT_LEAST32_MAX
|
# undef UINT_LEAST32_MAX
|
||||||
#define INT_LEAST32_MIN INT32_MIN
|
# define INT_LEAST32_MIN INT32_MIN
|
||||||
#define INT_LEAST32_MAX INT32_MAX
|
# define INT_LEAST32_MAX INT32_MAX
|
||||||
#define UINT_LEAST32_MAX UINT32_MAX
|
# define UINT_LEAST32_MAX UINT32_MAX
|
||||||
|
|
||||||
#undef INT_LEAST64_MIN
|
# undef INT_LEAST64_MIN
|
||||||
#undef INT_LEAST64_MAX
|
# undef INT_LEAST64_MAX
|
||||||
#ifdef GL_INT64_T
|
# ifdef GL_INT64_T
|
||||||
# define INT_LEAST64_MIN INT64_MIN
|
# define INT_LEAST64_MIN INT64_MIN
|
||||||
# define INT_LEAST64_MAX INT64_MAX
|
# define INT_LEAST64_MAX INT64_MAX
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
#undef UINT_LEAST64_MAX
|
# undef UINT_LEAST64_MAX
|
||||||
#ifdef GL_UINT64_T
|
# ifdef GL_UINT64_T
|
||||||
# define UINT_LEAST64_MAX UINT64_MAX
|
# define UINT_LEAST64_MAX UINT64_MAX
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
/* 7.18.2.3. Limits of fastest minimum-width integer types */
|
/* 7.18.2.3. Limits of fastest minimum-width integer types */
|
||||||
|
|
||||||
|
|
@ -425,117 +436,117 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
|
||||||
types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types
|
types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types
|
||||||
are taken from the same list of types. */
|
are taken from the same list of types. */
|
||||||
|
|
||||||
#undef INT_FAST8_MIN
|
# undef INT_FAST8_MIN
|
||||||
#undef INT_FAST8_MAX
|
# undef INT_FAST8_MAX
|
||||||
#undef UINT_FAST8_MAX
|
# undef UINT_FAST8_MAX
|
||||||
#define INT_FAST8_MIN SCHAR_MIN
|
# define INT_FAST8_MIN SCHAR_MIN
|
||||||
#define INT_FAST8_MAX SCHAR_MAX
|
# define INT_FAST8_MAX SCHAR_MAX
|
||||||
#define UINT_FAST8_MAX UCHAR_MAX
|
# define UINT_FAST8_MAX UCHAR_MAX
|
||||||
|
|
||||||
#undef INT_FAST16_MIN
|
# undef INT_FAST16_MIN
|
||||||
#undef INT_FAST16_MAX
|
# undef INT_FAST16_MAX
|
||||||
#undef UINT_FAST16_MAX
|
# undef UINT_FAST16_MAX
|
||||||
#define INT_FAST16_MIN INT_FAST32_MIN
|
# define INT_FAST16_MIN INT_FAST32_MIN
|
||||||
#define INT_FAST16_MAX INT_FAST32_MAX
|
# define INT_FAST16_MAX INT_FAST32_MAX
|
||||||
#define UINT_FAST16_MAX UINT_FAST32_MAX
|
# define UINT_FAST16_MAX UINT_FAST32_MAX
|
||||||
|
|
||||||
#undef INT_FAST32_MIN
|
# undef INT_FAST32_MIN
|
||||||
#undef INT_FAST32_MAX
|
# undef INT_FAST32_MAX
|
||||||
#undef UINT_FAST32_MAX
|
# undef UINT_FAST32_MAX
|
||||||
#ifdef __sun
|
# ifdef __sun
|
||||||
# define INT_FAST32_MIN INT_MIN
|
# define INT_FAST32_MIN INT_MIN
|
||||||
# define INT_FAST32_MAX INT_MAX
|
# define INT_FAST32_MAX INT_MAX
|
||||||
# define UINT_FAST32_MAX UINT_MAX
|
# define UINT_FAST32_MAX UINT_MAX
|
||||||
#else
|
# else
|
||||||
# define INT_FAST32_MIN LONG_MIN
|
# define INT_FAST32_MIN LONG_MIN
|
||||||
# define INT_FAST32_MAX LONG_MAX
|
# define INT_FAST32_MAX LONG_MAX
|
||||||
# define UINT_FAST32_MAX ULONG_MAX
|
# define UINT_FAST32_MAX ULONG_MAX
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
#undef INT_FAST64_MIN
|
# undef INT_FAST64_MIN
|
||||||
#undef INT_FAST64_MAX
|
# undef INT_FAST64_MAX
|
||||||
#ifdef GL_INT64_T
|
# ifdef GL_INT64_T
|
||||||
# define INT_FAST64_MIN INT64_MIN
|
# define INT_FAST64_MIN INT64_MIN
|
||||||
# define INT_FAST64_MAX INT64_MAX
|
# define INT_FAST64_MAX INT64_MAX
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
#undef UINT_FAST64_MAX
|
# undef UINT_FAST64_MAX
|
||||||
#ifdef GL_UINT64_T
|
# ifdef GL_UINT64_T
|
||||||
# define UINT_FAST64_MAX UINT64_MAX
|
# define UINT_FAST64_MAX UINT64_MAX
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
/* 7.18.2.4. Limits of integer types capable of holding object pointers */
|
/* 7.18.2.4. Limits of integer types capable of holding object pointers */
|
||||||
|
|
||||||
#undef INTPTR_MIN
|
# undef INTPTR_MIN
|
||||||
#undef INTPTR_MAX
|
# undef INTPTR_MAX
|
||||||
#undef UINTPTR_MAX
|
# undef UINTPTR_MAX
|
||||||
#define INTPTR_MIN LONG_MIN
|
# define INTPTR_MIN LONG_MIN
|
||||||
#define INTPTR_MAX LONG_MAX
|
# define INTPTR_MAX LONG_MAX
|
||||||
#define UINTPTR_MAX ULONG_MAX
|
# define UINTPTR_MAX ULONG_MAX
|
||||||
|
|
||||||
/* 7.18.2.5. Limits of greatest-width integer types */
|
/* 7.18.2.5. Limits of greatest-width integer types */
|
||||||
|
|
||||||
#ifndef INTMAX_MAX
|
# ifndef INTMAX_MAX
|
||||||
# undef INTMAX_MIN
|
# undef INTMAX_MIN
|
||||||
# ifdef INT64_MAX
|
# ifdef INT64_MAX
|
||||||
# define INTMAX_MIN INT64_MIN
|
# define INTMAX_MIN INT64_MIN
|
||||||
# define INTMAX_MAX INT64_MAX
|
# define INTMAX_MAX INT64_MAX
|
||||||
# else
|
# else
|
||||||
# define INTMAX_MIN INT32_MIN
|
# define INTMAX_MIN INT32_MIN
|
||||||
# define INTMAX_MAX INT32_MAX
|
# define INTMAX_MAX INT32_MAX
|
||||||
|
# endif
|
||||||
# endif
|
# endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef UINTMAX_MAX
|
# ifndef UINTMAX_MAX
|
||||||
# ifdef UINT64_MAX
|
# ifdef UINT64_MAX
|
||||||
# define UINTMAX_MAX UINT64_MAX
|
# define UINTMAX_MAX UINT64_MAX
|
||||||
# else
|
# else
|
||||||
# define UINTMAX_MAX UINT32_MAX
|
# define UINTMAX_MAX UINT32_MAX
|
||||||
|
# endif
|
||||||
# endif
|
# endif
|
||||||
#endif
|
|
||||||
|
|
||||||
/* 7.18.3. Limits of other integer types */
|
/* 7.18.3. Limits of other integer types */
|
||||||
|
|
||||||
/* ptrdiff_t limits */
|
/* ptrdiff_t limits */
|
||||||
#undef PTRDIFF_MIN
|
# undef PTRDIFF_MIN
|
||||||
#undef PTRDIFF_MAX
|
# undef PTRDIFF_MAX
|
||||||
#if @APPLE_UNIVERSAL_BUILD@
|
# if @APPLE_UNIVERSAL_BUILD@
|
||||||
# ifdef _LP64
|
# ifdef _LP64
|
||||||
# define PTRDIFF_MIN _STDINT_MIN (1, 64, 0l)
|
# define PTRDIFF_MIN _STDINT_MIN (1, 64, 0l)
|
||||||
# define PTRDIFF_MAX _STDINT_MAX (1, 64, 0l)
|
# define PTRDIFF_MAX _STDINT_MAX (1, 64, 0l)
|
||||||
|
# else
|
||||||
|
# define PTRDIFF_MIN _STDINT_MIN (1, 32, 0)
|
||||||
|
# define PTRDIFF_MAX _STDINT_MAX (1, 32, 0)
|
||||||
|
# endif
|
||||||
# else
|
# else
|
||||||
# define PTRDIFF_MIN _STDINT_MIN (1, 32, 0)
|
# define PTRDIFF_MIN \
|
||||||
# define PTRDIFF_MAX _STDINT_MAX (1, 32, 0)
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# define PTRDIFF_MIN \
|
|
||||||
_STDINT_MIN (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
|
_STDINT_MIN (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
|
||||||
# define PTRDIFF_MAX \
|
# define PTRDIFF_MAX \
|
||||||
_STDINT_MAX (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
|
_STDINT_MAX (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@)
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
/* sig_atomic_t limits */
|
/* sig_atomic_t limits */
|
||||||
#undef SIG_ATOMIC_MIN
|
# undef SIG_ATOMIC_MIN
|
||||||
#undef SIG_ATOMIC_MAX
|
# undef SIG_ATOMIC_MAX
|
||||||
#define SIG_ATOMIC_MIN \
|
# define SIG_ATOMIC_MIN \
|
||||||
_STDINT_MIN (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
|
_STDINT_MIN (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
|
||||||
0@SIG_ATOMIC_T_SUFFIX@)
|
0@SIG_ATOMIC_T_SUFFIX@)
|
||||||
#define SIG_ATOMIC_MAX \
|
# define SIG_ATOMIC_MAX \
|
||||||
_STDINT_MAX (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
|
_STDINT_MAX (@HAVE_SIGNED_SIG_ATOMIC_T@, @BITSIZEOF_SIG_ATOMIC_T@, \
|
||||||
0@SIG_ATOMIC_T_SUFFIX@)
|
0@SIG_ATOMIC_T_SUFFIX@)
|
||||||
|
|
||||||
|
|
||||||
/* size_t limit */
|
/* size_t limit */
|
||||||
#undef SIZE_MAX
|
# undef SIZE_MAX
|
||||||
#if @APPLE_UNIVERSAL_BUILD@
|
# if @APPLE_UNIVERSAL_BUILD@
|
||||||
# ifdef _LP64
|
# ifdef _LP64
|
||||||
# define SIZE_MAX _STDINT_MAX (0, 64, 0ul)
|
# define SIZE_MAX _STDINT_MAX (0, 64, 0ul)
|
||||||
|
# else
|
||||||
|
# define SIZE_MAX _STDINT_MAX (0, 32, 0ul)
|
||||||
|
# endif
|
||||||
# else
|
# else
|
||||||
# define SIZE_MAX _STDINT_MAX (0, 32, 0ul)
|
# define SIZE_MAX _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@)
|
||||||
# endif
|
# endif
|
||||||
#else
|
|
||||||
# define SIZE_MAX _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* wchar_t limits */
|
/* wchar_t limits */
|
||||||
/* Get WCHAR_MIN, WCHAR_MAX.
|
/* Get WCHAR_MIN, WCHAR_MAX.
|
||||||
|
|
@ -543,29 +554,29 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
|
||||||
sequence of nested includes
|
sequence of nested includes
|
||||||
<wchar.h> -> <stdio.h> -> <getopt.h> -> <stdlib.h>, and the latter includes
|
<wchar.h> -> <stdio.h> -> <getopt.h> -> <stdlib.h>, and the latter includes
|
||||||
<stdint.h> and assumes its types are already defined. */
|
<stdint.h> and assumes its types are already defined. */
|
||||||
#if @HAVE_WCHAR_H@ && ! (defined WCHAR_MIN && defined WCHAR_MAX)
|
# if @HAVE_WCHAR_H@ && ! (defined WCHAR_MIN && defined WCHAR_MAX)
|
||||||
/* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
|
/* BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
|
||||||
included before <wchar.h>. */
|
included before <wchar.h>. */
|
||||||
# include <stddef.h>
|
# include <stddef.h>
|
||||||
# include <stdio.h>
|
# include <stdio.h>
|
||||||
# include <time.h>
|
# include <time.h>
|
||||||
# define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
|
# define _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
|
||||||
# include <wchar.h>
|
# include <wchar.h>
|
||||||
# undef _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
|
# undef _GL_JUST_INCLUDE_SYSTEM_WCHAR_H
|
||||||
#endif
|
# endif
|
||||||
#undef WCHAR_MIN
|
# undef WCHAR_MIN
|
||||||
#undef WCHAR_MAX
|
# undef WCHAR_MAX
|
||||||
#define WCHAR_MIN \
|
# define WCHAR_MIN \
|
||||||
_STDINT_MIN (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
|
_STDINT_MIN (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
|
||||||
#define WCHAR_MAX \
|
# define WCHAR_MAX \
|
||||||
_STDINT_MAX (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
|
_STDINT_MAX (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@)
|
||||||
|
|
||||||
/* wint_t limits */
|
/* wint_t limits */
|
||||||
#undef WINT_MIN
|
# undef WINT_MIN
|
||||||
#undef WINT_MAX
|
# undef WINT_MAX
|
||||||
#define WINT_MIN \
|
# define WINT_MIN \
|
||||||
_STDINT_MIN (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
|
_STDINT_MIN (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
|
||||||
#define WINT_MAX \
|
# define WINT_MAX \
|
||||||
_STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
|
_STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@)
|
||||||
|
|
||||||
/* 7.18.4. Macros for integer constants */
|
/* 7.18.4. Macros for integer constants */
|
||||||
|
|
@ -576,59 +587,120 @@ typedef int _verify_intmax_size[sizeof (intmax_t) == sizeof (uintmax_t)
|
||||||
/* Here we assume a standard architecture where the hardware integer
|
/* Here we assume a standard architecture where the hardware integer
|
||||||
types have 8, 16, 32, optionally 64 bits, and int is 32 bits. */
|
types have 8, 16, 32, optionally 64 bits, and int is 32 bits. */
|
||||||
|
|
||||||
#undef INT8_C
|
# undef INT8_C
|
||||||
#undef UINT8_C
|
# undef UINT8_C
|
||||||
#define INT8_C(x) x
|
# define INT8_C(x) x
|
||||||
#define UINT8_C(x) x
|
# define UINT8_C(x) x
|
||||||
|
|
||||||
#undef INT16_C
|
# undef INT16_C
|
||||||
#undef UINT16_C
|
# undef UINT16_C
|
||||||
#define INT16_C(x) x
|
# define INT16_C(x) x
|
||||||
#define UINT16_C(x) x
|
# define UINT16_C(x) x
|
||||||
|
|
||||||
#undef INT32_C
|
# undef INT32_C
|
||||||
#undef UINT32_C
|
# undef UINT32_C
|
||||||
#define INT32_C(x) x
|
# define INT32_C(x) x
|
||||||
#define UINT32_C(x) x ## U
|
# define UINT32_C(x) x ## U
|
||||||
|
|
||||||
#undef INT64_C
|
# undef INT64_C
|
||||||
#undef UINT64_C
|
# undef UINT64_C
|
||||||
#if LONG_MAX >> 31 >> 31 == 1
|
# if LONG_MAX >> 31 >> 31 == 1
|
||||||
# define INT64_C(x) x##L
|
# define INT64_C(x) x##L
|
||||||
#elif defined _MSC_VER
|
# elif defined _MSC_VER
|
||||||
# define INT64_C(x) x##i64
|
# define INT64_C(x) x##i64
|
||||||
#elif @HAVE_LONG_LONG_INT@
|
# elif @HAVE_LONG_LONG_INT@
|
||||||
# define INT64_C(x) x##LL
|
# define INT64_C(x) x##LL
|
||||||
#endif
|
# endif
|
||||||
#if ULONG_MAX >> 31 >> 31 >> 1 == 1
|
# if ULONG_MAX >> 31 >> 31 >> 1 == 1
|
||||||
# define UINT64_C(x) x##UL
|
# define UINT64_C(x) x##UL
|
||||||
#elif defined _MSC_VER
|
# elif defined _MSC_VER
|
||||||
# define UINT64_C(x) x##ui64
|
# define UINT64_C(x) x##ui64
|
||||||
#elif @HAVE_UNSIGNED_LONG_LONG_INT@
|
# elif @HAVE_UNSIGNED_LONG_LONG_INT@
|
||||||
# define UINT64_C(x) x##ULL
|
# define UINT64_C(x) x##ULL
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
/* 7.18.4.2. Macros for greatest-width integer constants */
|
/* 7.18.4.2. Macros for greatest-width integer constants */
|
||||||
|
|
||||||
#ifndef INTMAX_C
|
# ifndef INTMAX_C
|
||||||
# if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
|
# if @HAVE_LONG_LONG_INT@ && LONG_MAX >> 30 == 1
|
||||||
# define INTMAX_C(x) x##LL
|
# define INTMAX_C(x) x##LL
|
||||||
# elif defined GL_INT64_T
|
# elif defined GL_INT64_T
|
||||||
# define INTMAX_C(x) INT64_C(x)
|
# define INTMAX_C(x) INT64_C(x)
|
||||||
# else
|
# else
|
||||||
# define INTMAX_C(x) x##L
|
# define INTMAX_C(x) x##L
|
||||||
|
# endif
|
||||||
# endif
|
# endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef UINTMAX_C
|
# ifndef UINTMAX_C
|
||||||
# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
|
# if @HAVE_UNSIGNED_LONG_LONG_INT@ && ULONG_MAX >> 31 == 1
|
||||||
# define UINTMAX_C(x) x##ULL
|
# define UINTMAX_C(x) x##ULL
|
||||||
# elif defined GL_UINT64_T
|
# elif defined GL_UINT64_T
|
||||||
# define UINTMAX_C(x) UINT64_C(x)
|
# define UINTMAX_C(x) UINT64_C(x)
|
||||||
# else
|
# else
|
||||||
# define UINTMAX_C(x) x##UL
|
# define UINTMAX_C(x) x##UL
|
||||||
|
# endif
|
||||||
# endif
|
# endif
|
||||||
#endif
|
|
||||||
|
#endif /* !@HAVE_C99_STDINT_H@ */
|
||||||
|
|
||||||
|
/* Macros specified by ISO/IEC TS 18661-1:2014. */
|
||||||
|
|
||||||
|
#if (!defined UINTMAX_WIDTH \
|
||||||
|
&& (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__))
|
||||||
|
# ifdef INT8_MAX
|
||||||
|
# define INT8_WIDTH _GL_INTEGER_WIDTH (INT8_MIN, INT8_MAX)
|
||||||
|
# endif
|
||||||
|
# ifdef UINT8_MAX
|
||||||
|
# define UINT8_WIDTH _GL_INTEGER_WIDTH (0, UINT8_MAX)
|
||||||
|
# endif
|
||||||
|
# ifdef INT16_MAX
|
||||||
|
# define INT16_WIDTH _GL_INTEGER_WIDTH (INT16_MIN, INT16_MAX)
|
||||||
|
# endif
|
||||||
|
# ifdef UINT16_MAX
|
||||||
|
# define UINT16_WIDTH _GL_INTEGER_WIDTH (0, UINT16_MAX)
|
||||||
|
# endif
|
||||||
|
# ifdef INT32_MAX
|
||||||
|
# define INT32_WIDTH _GL_INTEGER_WIDTH (INT32_MIN, INT32_MAX)
|
||||||
|
# endif
|
||||||
|
# ifdef UINT32_MAX
|
||||||
|
# define UINT32_WIDTH _GL_INTEGER_WIDTH (0, UINT32_MAX)
|
||||||
|
# endif
|
||||||
|
# ifdef INT64_MAX
|
||||||
|
# define INT64_WIDTH _GL_INTEGER_WIDTH (INT64_MIN, INT64_MAX)
|
||||||
|
# endif
|
||||||
|
# ifdef UINT64_MAX
|
||||||
|
# define UINT64_WIDTH _GL_INTEGER_WIDTH (0, UINT64_MAX)
|
||||||
|
# endif
|
||||||
|
# define INT_LEAST8_WIDTH _GL_INTEGER_WIDTH (INT_LEAST8_MIN, INT_LEAST8_MAX)
|
||||||
|
# define UINT_LEAST8_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST8_MAX)
|
||||||
|
# define INT_LEAST16_WIDTH _GL_INTEGER_WIDTH (INT_LEAST16_MIN, INT_LEAST16_MAX)
|
||||||
|
# define UINT_LEAST16_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST16_MAX)
|
||||||
|
# define INT_LEAST32_WIDTH _GL_INTEGER_WIDTH (INT_LEAST32_MIN, INT_LEAST32_MAX)
|
||||||
|
# define UINT_LEAST32_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST32_MAX)
|
||||||
|
# define INT_LEAST64_WIDTH _GL_INTEGER_WIDTH (INT_LEAST64_MIN, INT_LEAST64_MAX)
|
||||||
|
# define UINT_LEAST64_WIDTH _GL_INTEGER_WIDTH (0, UINT_LEAST64_MAX)
|
||||||
|
# define INT_FAST8_WIDTH _GL_INTEGER_WIDTH (INT_FAST8_MIN, INT_FAST8_MAX)
|
||||||
|
# define UINT_FAST8_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST8_MAX)
|
||||||
|
# define INT_FAST16_WIDTH _GL_INTEGER_WIDTH (INT_FAST16_MIN, INT_FAST16_MAX)
|
||||||
|
# define UINT_FAST16_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST16_MAX)
|
||||||
|
# define INT_FAST32_WIDTH _GL_INTEGER_WIDTH (INT_FAST32_MIN, INT_FAST32_MAX)
|
||||||
|
# define UINT_FAST32_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST32_MAX)
|
||||||
|
# define INT_FAST64_WIDTH _GL_INTEGER_WIDTH (INT_FAST64_MIN, INT_FAST64_MAX)
|
||||||
|
# define UINT_FAST64_WIDTH _GL_INTEGER_WIDTH (0, UINT_FAST64_MAX)
|
||||||
|
# define INTPTR_WIDTH _GL_INTEGER_WIDTH (INTPTR_MIN, INTPTR_MAX)
|
||||||
|
# define UINTPTR_WIDTH _GL_INTEGER_WIDTH (0, UINTPTR_MAX)
|
||||||
|
# define INTMAX_WIDTH _GL_INTEGER_WIDTH (INTMAX_MIN, INTMAX_MAX)
|
||||||
|
# define UINTMAX_WIDTH _GL_INTEGER_WIDTH (0, UINTMAX_MAX)
|
||||||
|
# define PTRDIFF_WIDTH _GL_INTEGER_WIDTH (PTRDIFF_MIN, PTRDIFF_MAX)
|
||||||
|
# define SIZE_WIDTH _GL_INTEGER_WIDTH (0, SIZE_MAX)
|
||||||
|
# define WCHAR_WIDTH _GL_INTEGER_WIDTH (WCHAR_MIN, WCHAR_MAX)
|
||||||
|
# ifdef WINT_MAX
|
||||||
|
# define WINT_WIDTH _GL_INTEGER_WIDTH (WINT_MIN, WINT_MAX)
|
||||||
|
# endif
|
||||||
|
# ifdef SIG_ATOMIC_MAX
|
||||||
|
# define SIG_ATOMIC_WIDTH _GL_INTEGER_WIDTH (SIG_ATOMIC_MIN, SIG_ATOMIC_MAX)
|
||||||
|
# endif
|
||||||
|
#endif /* !WINT_WIDTH && (_GNU_SOURCE || __STDC_WANT_IEC_60559_BFP_EXT__) */
|
||||||
|
|
||||||
#endif /* _@GUARD_PREFIX@_STDINT_H */
|
#endif /* _@GUARD_PREFIX@_STDINT_H */
|
||||||
#endif /* !(defined __ANDROID__ && ...) */
|
#endif /* !(defined __ANDROID__ && ...) */
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* A GNU-like <stdio.h>.
|
/* A GNU-like <stdio.h>.
|
||||||
|
|
||||||
Copyright (C) 2004, 2007-2016 Free Software Foundation, Inc.
|
Copyright (C) 2004, 2007-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
@ -118,6 +118,26 @@
|
||||||
# include <unistd.h>
|
# include <unistd.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* MSVC declares 'perror' in <stdlib.h>, not in <stdio.h>. We must include
|
||||||
|
it before we #define perror rpl_perror. */
|
||||||
|
/* But in any case avoid namespace pollution on glibc systems. */
|
||||||
|
#if (@GNULIB_PERROR@ || defined GNULIB_POSIXCHECK) \
|
||||||
|
&& ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) \
|
||||||
|
&& ! defined __GLIBC__
|
||||||
|
# include <stdlib.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* MSVC declares 'remove' in <io.h>, not in <stdio.h>. We must include
|
||||||
|
it before we #define remove rpl_remove. */
|
||||||
|
/* MSVC declares 'rename' in <io.h>, not in <stdio.h>. We must include
|
||||||
|
it before we #define rename rpl_rename. */
|
||||||
|
/* But in any case avoid namespace pollution on glibc systems. */
|
||||||
|
#if (@GNULIB_REMOVE@ || @GNULIB_RENAME@ || defined GNULIB_POSIXCHECK) \
|
||||||
|
&& ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) \
|
||||||
|
&& ! defined __GLIBC__
|
||||||
|
# include <io.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
|
/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* A GNU-like <stdlib.h>.
|
/* A GNU-like <stdlib.h>.
|
||||||
|
|
||||||
Copyright (C) 1995, 2001-2004, 2006-2016 Free Software Foundation, Inc.
|
Copyright (C) 1995, 2001-2004, 2006-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
@ -521,6 +521,9 @@ _GL_CXXALIASWARN (putenv);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if @GNULIB_QSORT_R@
|
#if @GNULIB_QSORT_R@
|
||||||
|
/* Sort an array of NMEMB elements, starting at address BASE, each element
|
||||||
|
occupying SIZE bytes, in ascending order according to the comparison
|
||||||
|
function COMPARE. */
|
||||||
# if @REPLACE_QSORT_R@
|
# if @REPLACE_QSORT_R@
|
||||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||||
# undef qsort_r
|
# undef qsort_r
|
||||||
|
|
@ -535,12 +538,24 @@ _GL_CXXALIAS_RPL (qsort_r, void, (void *base, size_t nmemb, size_t size,
|
||||||
void *),
|
void *),
|
||||||
void *arg));
|
void *arg));
|
||||||
# else
|
# else
|
||||||
|
# if !@HAVE_QSORT_R@
|
||||||
|
_GL_FUNCDECL_SYS (qsort_r, void, (void *base, size_t nmemb, size_t size,
|
||||||
|
int (*compare) (void const *, void const *,
|
||||||
|
void *),
|
||||||
|
void *arg) _GL_ARG_NONNULL ((1, 4)));
|
||||||
|
# endif
|
||||||
_GL_CXXALIAS_SYS (qsort_r, void, (void *base, size_t nmemb, size_t size,
|
_GL_CXXALIAS_SYS (qsort_r, void, (void *base, size_t nmemb, size_t size,
|
||||||
int (*compare) (void const *, void const *,
|
int (*compare) (void const *, void const *,
|
||||||
void *),
|
void *),
|
||||||
void *arg));
|
void *arg));
|
||||||
# endif
|
# endif
|
||||||
_GL_CXXALIASWARN (qsort_r);
|
_GL_CXXALIASWARN (qsort_r);
|
||||||
|
#elif defined GNULIB_POSIXCHECK
|
||||||
|
# undef qsort_r
|
||||||
|
# if HAVE_RAW_DECL_QSORT_R
|
||||||
|
_GL_WARN_ON_USE (qsort_r, "qsort_r is not portable - "
|
||||||
|
"use gnulib module qsort_r for portability");
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* stpcpy.c -- copy a string and return pointer to end of new string
|
/* stpcpy.c -- copy a string and return pointer to end of new string
|
||||||
Copyright (C) 1992, 1995, 1997-1998, 2006, 2009-2016 Free Software
|
Copyright (C) 1992, 1995, 1997-1998, 2006, 2009-2017 Free Software
|
||||||
Foundation, Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
NOTE: The canonical source of this file is maintained with the GNU C Library.
|
NOTE: The canonical source of this file is maintained with the GNU C Library.
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Case-insensitive string comparison function.
|
/* Case-insensitive string comparison function.
|
||||||
Copyright (C) 1998-1999, 2005-2007, 2009-2016 Free Software Foundation, Inc.
|
Copyright (C) 1998-1999, 2005-2007, 2009-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Searching in a string.
|
/* Searching in a string.
|
||||||
Copyright (C) 2003, 2007-2016 Free Software Foundation, Inc.
|
Copyright (C) 2003, 2007-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* Optimized string comparison.
|
/* Optimized string comparison.
|
||||||
Copyright (C) 2001-2002, 2007, 2009-2016 Free Software Foundation, Inc.
|
Copyright (C) 2001-2002, 2007, 2009-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify it
|
This program is free software: you can redistribute it and/or modify it
|
||||||
under the terms of the GNU General Public License as published
|
under the terms of the GNU General Public License as published
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* strerror-override.c --- POSIX compatible system error routine
|
/* strerror-override.c --- POSIX compatible system error routine
|
||||||
|
|
||||||
Copyright (C) 2010-2016 Free Software Foundation, Inc.
|
Copyright (C) 2010-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* strerror-override.h --- POSIX compatible system error routine
|
/* strerror-override.h --- POSIX compatible system error routine
|
||||||
|
|
||||||
Copyright (C) 2010-2016 Free Software Foundation, Inc.
|
Copyright (C) 2010-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* strerror.c --- POSIX compatible system error routine
|
/* strerror.c --- POSIX compatible system error routine
|
||||||
|
|
||||||
Copyright (C) 2007-2016 Free Software Foundation, Inc.
|
Copyright (C) 2007-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
@ -66,5 +66,6 @@ strerror (int n)
|
||||||
if (sizeof buf <= len)
|
if (sizeof buf <= len)
|
||||||
abort ();
|
abort ();
|
||||||
|
|
||||||
return memcpy (buf, msg, len + 1);
|
memcpy (buf, msg, len + 1);
|
||||||
|
return buf;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* A GNU-like <string.h>.
|
/* A GNU-like <string.h>.
|
||||||
|
|
||||||
Copyright (C) 1995-1996, 2001-2016 Free Software Foundation, Inc.
|
Copyright (C) 1995-1996, 2001-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
@ -416,15 +416,15 @@ _GL_WARN_ON_USE (strncat, "strncat is unportable - "
|
||||||
# undef strndup
|
# undef strndup
|
||||||
# define strndup rpl_strndup
|
# define strndup rpl_strndup
|
||||||
# endif
|
# endif
|
||||||
_GL_FUNCDECL_RPL (strndup, char *, (char const *__string, size_t __n)
|
_GL_FUNCDECL_RPL (strndup, char *, (char const *__s, size_t __n)
|
||||||
_GL_ARG_NONNULL ((1)));
|
_GL_ARG_NONNULL ((1)));
|
||||||
_GL_CXXALIAS_RPL (strndup, char *, (char const *__string, size_t __n));
|
_GL_CXXALIAS_RPL (strndup, char *, (char const *__s, size_t __n));
|
||||||
# else
|
# else
|
||||||
# if ! @HAVE_DECL_STRNDUP@
|
# if ! @HAVE_DECL_STRNDUP@
|
||||||
_GL_FUNCDECL_SYS (strndup, char *, (char const *__string, size_t __n)
|
_GL_FUNCDECL_SYS (strndup, char *, (char const *__s, size_t __n)
|
||||||
_GL_ARG_NONNULL ((1)));
|
_GL_ARG_NONNULL ((1)));
|
||||||
# endif
|
# endif
|
||||||
_GL_CXXALIAS_SYS (strndup, char *, (char const *__string, size_t __n));
|
_GL_CXXALIAS_SYS (strndup, char *, (char const *__s, size_t __n));
|
||||||
# endif
|
# endif
|
||||||
_GL_CXXALIASWARN (strndup);
|
_GL_CXXALIASWARN (strndup);
|
||||||
#elif defined GNULIB_POSIXCHECK
|
#elif defined GNULIB_POSIXCHECK
|
||||||
|
|
@ -444,17 +444,17 @@ _GL_WARN_ON_USE (strndup, "strndup is unportable - "
|
||||||
# undef strnlen
|
# undef strnlen
|
||||||
# define strnlen rpl_strnlen
|
# define strnlen rpl_strnlen
|
||||||
# endif
|
# endif
|
||||||
_GL_FUNCDECL_RPL (strnlen, size_t, (char const *__string, size_t __maxlen)
|
_GL_FUNCDECL_RPL (strnlen, size_t, (char const *__s, size_t __maxlen)
|
||||||
_GL_ATTRIBUTE_PURE
|
_GL_ATTRIBUTE_PURE
|
||||||
_GL_ARG_NONNULL ((1)));
|
_GL_ARG_NONNULL ((1)));
|
||||||
_GL_CXXALIAS_RPL (strnlen, size_t, (char const *__string, size_t __maxlen));
|
_GL_CXXALIAS_RPL (strnlen, size_t, (char const *__s, size_t __maxlen));
|
||||||
# else
|
# else
|
||||||
# if ! @HAVE_DECL_STRNLEN@
|
# if ! @HAVE_DECL_STRNLEN@
|
||||||
_GL_FUNCDECL_SYS (strnlen, size_t, (char const *__string, size_t __maxlen)
|
_GL_FUNCDECL_SYS (strnlen, size_t, (char const *__s, size_t __maxlen)
|
||||||
_GL_ATTRIBUTE_PURE
|
_GL_ATTRIBUTE_PURE
|
||||||
_GL_ARG_NONNULL ((1)));
|
_GL_ARG_NONNULL ((1)));
|
||||||
# endif
|
# endif
|
||||||
_GL_CXXALIAS_SYS (strnlen, size_t, (char const *__string, size_t __maxlen));
|
_GL_CXXALIAS_SYS (strnlen, size_t, (char const *__s, size_t __maxlen));
|
||||||
# endif
|
# endif
|
||||||
_GL_CXXALIASWARN (strnlen);
|
_GL_CXXALIASWARN (strnlen);
|
||||||
#elif defined GNULIB_POSIXCHECK
|
#elif defined GNULIB_POSIXCHECK
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* A substitute <strings.h>.
|
/* A substitute <strings.h>.
|
||||||
|
|
||||||
Copyright (C) 2007-2016 Free Software Foundation, Inc.
|
Copyright (C) 2007-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* stripslash.c -- remove redundant trailing slashes from a file name
|
/* stripslash.c -- remove redundant trailing slashes from a file name
|
||||||
|
|
||||||
Copyright (C) 1990, 2001, 2003-2006, 2009-2016 Free Software Foundation,
|
Copyright (C) 1990, 2001, 2003-2006, 2009-2017 Free Software Foundation,
|
||||||
Inc.
|
Inc.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* strncasecmp.c -- case insensitive string comparator
|
/* strncasecmp.c -- case insensitive string comparator
|
||||||
Copyright (C) 1998-1999, 2005-2007, 2009-2016 Free Software Foundation, Inc.
|
Copyright (C) 1998-1999, 2005-2007, 2009-2017 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue