From d1248869548dbf2758509889f99e3c706f4f8846 Mon Sep 17 00:00:00 2001 From: John Marino Date: Sat, 29 Oct 2011 19:47:23 +0200 Subject: [PATCH] diffutils: Upgrade to version 3.2 The majority of the changes were inherited from gnulib. There were only a few observable differences from version 3.0: Release 3.2 (2011-09-02) [stable] Release 3.1 (2011-08-10) [stable] Bug fixes =================== diff no longer reports spurious differences merely because two entries in the same directory have names that compare equal in the current locale, or compare equal because --ignore-file-name-case was given. Changes in behavior =================== --ignore-file-name-case now applies at the top level too. For example, "diff dir inIt" might compare "dir/Init" to "inIt". New features =================== diff and sdiff have a new option --ignore-trailing-space (-Z). --- Makefile_upgrade.inc | 1 + contrib/diffutils/README.DELETED | 20 +- contrib/diffutils/README.DRAGONFLY | 10 +- gnu/usr.bin/diff/Makefile | 2 +- gnu/usr.bin/diff/Makefile.inc0 | 3 + gnu/usr.bin/diff/diff/Makefile | 1 + gnu/usr.bin/diff/diff/system.h | 207 ++++++ gnu/usr.bin/diff/diff3/Makefile | 2 +- gnu/usr.bin/diff/doc/Makefile | 2 +- gnu/usr.bin/diff/libdiffutils/Makefile | 11 +- gnu/usr.bin/diff/libdiffutils/alloca.h | 2 +- gnu/usr.bin/diff/libdiffutils/config.h | 458 ++++++++---- gnu/usr.bin/diff/libdiffutils/fcntl.h | 92 ++- gnu/usr.bin/diff/libdiffutils/fnmatch.h | 4 +- gnu/usr.bin/diff/libdiffutils/getopt.h | 10 +- gnu/usr.bin/diff/libdiffutils/string.h | 198 +++-- gnu/usr.bin/diff/libdiffutils/strings.h | 280 ++++++- gnu/usr.bin/diff/libdiffutils/sys/stat.h | 64 +- gnu/usr.bin/diff/libdiffutils/unistr.h | 695 ++++++++++++++++++ gnu/usr.bin/diff/libdiffutils/unitypes.h | 5 +- gnu/usr.bin/diff/libdiffutils/uniwidth.h | 5 +- .../diff/libdiffutils/unused-parameter.h | 20 + gnu/usr.bin/diff/libver/Makefile | 11 + gnu/usr.bin/diff/libver/version.c | 2 + gnu/usr.bin/diff/libver/version.h | 1 + gnu/usr.bin/diff/sdiff/Makefile | 2 +- 26 files changed, 1882 insertions(+), 226 deletions(-) create mode 100644 gnu/usr.bin/diff/diff/system.h create mode 100644 gnu/usr.bin/diff/libdiffutils/unistr.h create mode 100644 gnu/usr.bin/diff/libdiffutils/unused-parameter.h create mode 100644 gnu/usr.bin/diff/libver/Makefile create mode 100644 gnu/usr.bin/diff/libver/version.c create mode 100644 gnu/usr.bin/diff/libver/version.h diff --git a/Makefile_upgrade.inc b/Makefile_upgrade.inc index 8af9ff638e..1925341b14 100644 --- a/Makefile_upgrade.inc +++ b/Makefile_upgrade.inc @@ -1726,6 +1726,7 @@ TO_REMOVE+=/usr/share/misc/gprof.callg TO_REMOVE+=/usr/share/misc/gprof.flat TO_REMOVE+=/usr/share/man/cat4/i386/ndis.4.gz TO_REMOVE+=/usr/share/man/man4/i386/ndis.4.gz +TO_REMOVE+=/usr/share/info/diff.info.gz TO_REMOVE+=/usr/include/vfs/gnu .if ${MACHINE_ARCH} == "x86_64" diff --git a/contrib/diffutils/README.DELETED b/contrib/diffutils/README.DELETED index 4bbd963780..04d856f25d 100644 --- a/contrib/diffutils/README.DELETED +++ b/contrib/diffutils/README.DELETED @@ -8,6 +8,7 @@ INSTALL Makefile.am Makefile.in NEWS +README-release THANKS TODO aclocal.m4 @@ -20,7 +21,7 @@ dist-check.mk doc/Makefile.am doc/Makefile.in doc/diagmeet.note -doc/diff.texi +doc/diffutils.texi doc/fdl.texi doc/stamp-vti doc/version.texi @@ -41,7 +42,9 @@ lib/getdtablesize.c lib/getopt.in.h lib/gettimeofday.c lib/gnulib.mk +lib/iconv.c lib/iconv.in.h +lib/iconv_close.c lib/iconv_open-aix.gperf lib/iconv_open-aix.h lib/iconv_open-hpux.gperf @@ -54,13 +57,16 @@ lib/iconv_open-solaris.gperf lib/iconv_open-solaris.h lib/iconv_open.c lib/inttypes.in.h +lib/iswblank.c lib/langinfo.in.h lib/malloc.c -lib/mbrlen.c lib/mbrtowc.c lib/mbsinit.c +lib/mbsrtowcs-impl.h lib/mbsrtowcs-state.c lib/mbsrtowcs.c +lib/mbtowc-impl.h +lib/mbtowc.c lib/memchr.c lib/memchr.valgrind lib/mkstemp.c @@ -76,7 +82,6 @@ lib/stdarg.in.h lib/stdbool.in.h lib/stddef.in.h lib/stdint.in.h -lib/stdio-write.c lib/stdio.in.h lib/stdlib.in.h lib/strcasecmp.c @@ -89,7 +94,6 @@ lib/strnlen.c lib/strptime.c lib/strtoimax.c lib/strtol.c -lib/strtoll.c lib/strtoul.c lib/strtoull.c lib/strtoumax.c @@ -99,6 +103,9 @@ lib/sys_wait.in.h lib/time.in.h lib/time_r.c lib/unistd.in.h +lib/unistr.in.h +lib/unitypes.in.h +lib/uniwidth.in.h lib/wchar.in.h lib/wcrtomb.c lib/wctype.in.h @@ -107,6 +114,11 @@ maint.mk man/Makefile.am man/Makefile.in man/cmp.1 +man/cmp.x +man/diff.x +man/diff3.x +man/help2man +man/sdiff.x ms/ po/ src/Makefile.am diff --git a/contrib/diffutils/README.DRAGONFLY b/contrib/diffutils/README.DRAGONFLY index 609dce91fb..b746905512 100644 --- a/contrib/diffutils/README.DRAGONFLY +++ b/contrib/diffutils/README.DRAGONFLY @@ -1,13 +1,13 @@ -GNU DIFFUTILS 3.0 +GNU DIFFUTILS 3.2 ================= Original source can be downloaded from: http://ftp.gnu.org/gnu/diffutils -file = diffutils-3.0.tar.gz -date = 03 May 2010 -size = 1824077 -sha1 = 17fcdcd435ef6b424aa9c7a487ffde408d1a00e6 +file = diffutils-3.2.tar.gz +date = 02 September 2011 +size = 2023539 +sha1 = e145a54a8ff67fa6272de48ec0e2f4897f05dce7 A list of files and directories removed is in README.DELETED diff --git a/gnu/usr.bin/diff/Makefile b/gnu/usr.bin/diff/Makefile index a5945127ad..73c2ff3a23 100644 --- a/gnu/usr.bin/diff/Makefile +++ b/gnu/usr.bin/diff/Makefile @@ -1,3 +1,3 @@ -SUBDIR= libdiffutils diff3 sdiff diff doc +SUBDIR= libdiffutils libver diff diff3 sdiff doc .include diff --git a/gnu/usr.bin/diff/Makefile.inc0 b/gnu/usr.bin/diff/Makefile.inc0 index 444b8cdfeb..ffcbab0421 100644 --- a/gnu/usr.bin/diff/Makefile.inc0 +++ b/gnu/usr.bin/diff/Makefile.inc0 @@ -8,4 +8,7 @@ CFLAGS+= -I. -I${.CURDIR} DPADD= ${RELTOP}/libdiffutils/libdiffutils.a LDADD= ${RELTOP}/libdiffutils/libdiffutils.a +DPADD+= ${RELTOP}/libver/libver.a +LDADD+= ${RELTOP}/libver/libver.a + BINDIR?= /usr/bin diff --git a/gnu/usr.bin/diff/diff/Makefile b/gnu/usr.bin/diff/diff/Makefile index 5a2478b689..4e7cbe4328 100644 --- a/gnu/usr.bin/diff/diff/Makefile +++ b/gnu/usr.bin/diff/diff/Makefile @@ -3,6 +3,7 @@ PROG= diff CFLAGS+= -I${SRCDIR}/lib -I${.CURDIR}/../libdiffutils +CFLAGS+= -I${.CURDIR}/../libver SRCS= analyze.c \ context.c \ diff --git a/gnu/usr.bin/diff/diff/system.h b/gnu/usr.bin/diff/diff/system.h new file mode 100644 index 0000000000..594ef6e8ed --- /dev/null +++ b/gnu/usr.bin/diff/diff/system.h @@ -0,0 +1,207 @@ +/* System dependent declarations. + + Copyright (C) 1988-1989, 1992-1995, 1998, 2001-2002, 2004, 2006, 2009-2011 + Free Software Foundation, Inc. + + This file is part of GNU DIFF. + + 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 . */ + +#include + +/* Use this to suppress gcc's `...may be used before initialized' warnings. */ +#ifdef lint +# define IF_LINT(Code) Code +#else +# define IF_LINT(Code) /* empty */ +#endif + +/* Define `__attribute__' and `volatile' first + so that they're used consistently in all system includes. */ +#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6) || __STRICT_ANSI__ +# define __attribute__(x) +#endif + +#include + +#include + +#include +#include "stat-macros.h" + +#ifndef STAT_BLOCKSIZE +# if HAVE_STRUCT_STAT_ST_BLKSIZE +# define STAT_BLOCKSIZE(s) ((s).st_blksize) +# else +# define STAT_BLOCKSIZE(s) (8 * 1024) +# endif +#endif + +#include + +#include +#include + +#include + +#include +#ifndef _D_EXACT_NAMLEN +# define _D_EXACT_NAMLEN(dp) strlen ((dp)->d_name) +#endif + +#include +#define EXIT_TROUBLE 2 + +#include +#include +#include +#include + +#include +#if ! HAVE_STRCASECOLL +# if HAVE_STRICOLL || defined stricoll +# define strcasecoll(a, b) stricoll (a, b) +# else +# define strcasecoll(a, b) strcasecmp (a, b) /* best we can do */ +# endif +#endif +#if ! (HAVE_STRCASECMP || defined strcasecmp) +int strcasecmp (char const *, char const *); +#endif + +#include +#if ! ENABLE_NLS +# undef textdomain +# define textdomain(Domainname) /* empty */ +# undef bindtextdomain +# define bindtextdomain(Domainname, Dirname) /* empty */ +#endif + +#define _(msgid) gettext (msgid) +#define N_(msgid) msgid + +#include + +/* ISDIGIT differs from isdigit, as follows: + - Its arg may be any int or unsigned int; it need not be an unsigned char. + - It's guaranteed to evaluate its argument exactly once. + - It's typically faster. + POSIX 1003.1-2001 says that only '0' through '9' are digits. + Prefer ISDIGIT to isdigit unless it's important to use the locale's + definition of `digit' even when the host does not conform to POSIX. */ +#define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9) + +#include + +#include +#if !defined SIGCHLD && defined SIGCLD +# define SIGCHLD SIGCLD +#endif + +#undef MIN +#undef MAX +#define MIN(a, b) ((a) <= (b) ? (a) : (b)) +#define MAX(a, b) ((a) >= (b) ? (a) : (b)) + +#include +#include +#include "propername.h" +#include "version.h" + +/* Type used for fast comparison of several bytes at a time. */ + +#ifndef word +# define word uintmax_t +#endif + +/* The integer type of a line number. Since files are read into main + memory, ptrdiff_t should be wide enough. */ + +typedef ptrdiff_t lin; +#define LIN_MAX PTRDIFF_MAX +verify (TYPE_SIGNED (lin)); +verify (sizeof (ptrdiff_t) <= sizeof (lin)); +verify (sizeof (lin) <= sizeof (long int)); + +/* This section contains POSIX-compliant defaults for macros + that are meant to be overridden by hand in config.h as needed. */ + +#ifndef file_name_cmp +# define file_name_cmp strcmp +#endif + +#ifndef initialize_main +# define initialize_main(argcp, argvp) +#endif + +#ifndef NULL_DEVICE +# define NULL_DEVICE "/dev/null" +#endif + +/* Do struct stat *S, *T describe the same special file? */ +#ifndef same_special_file +# if HAVE_ST_RDEV && defined S_ISBLK && defined S_ISCHR +# define same_special_file(s, t) \ + (((S_ISBLK ((s)->st_mode) && S_ISBLK ((t)->st_mode)) \ + || (S_ISCHR ((s)->st_mode) && S_ISCHR ((t)->st_mode))) \ + && (s)->st_rdev == (t)->st_rdev) +# else +# define same_special_file(s, t) 0 +# endif +#endif + +/* Do struct stat *S, *T describe the same file? Answer -1 if unknown. */ +#ifndef same_file +# define same_file(s, t) \ + ((((s)->st_ino == (t)->st_ino) && ((s)->st_dev == (t)->st_dev)) \ + || same_special_file (s, t)) +#endif + +/* Do struct stat *S, *T have the same file attributes? + + POSIX says that two files are identical if st_ino and st_dev are + the same, but many file systems incorrectly assign the same (device, + inode) pair to two distinct files, including: + + - GNU/Linux NFS servers that export all local file systems as a + single NFS file system, if a local device number (st_dev) exceeds + 255, or if a local inode number (st_ino) exceeds 16777215. + + - Network Appliance NFS servers in snapshot directories; see + Network Appliance bug #195. + + - ClearCase MVFS; see bug id ATRia04618. + + Check whether two files that purport to be the same have the same + attributes, to work around instances of this common bug. Do not + inspect all attributes, only attributes useful in checking for this + bug. + + It's possible for two distinct files on a buggy file system to have + the same attributes, but it's not worth slowing down all + implementations (or complicating the configuration) to cater to + these rare cases in buggy implementations. */ + +#ifndef same_file_attributes +# define same_file_attributes(s, t) \ + ((s)->st_mode == (t)->st_mode \ + && (s)->st_nlink == (t)->st_nlink \ + && (s)->st_uid == (t)->st_uid \ + && (s)->st_gid == (t)->st_gid \ + && (s)->st_size == (t)->st_size \ + && (s)->st_mtime == (t)->st_mtime \ + && (s)->st_ctime == (t)->st_ctime) +#endif + +#define STREQ(a, b) (strcmp (a, b) == 0) diff --git a/gnu/usr.bin/diff/diff3/Makefile b/gnu/usr.bin/diff/diff3/Makefile index 45d9c1eab0..0fccd39c82 100644 --- a/gnu/usr.bin/diff/diff3/Makefile +++ b/gnu/usr.bin/diff/diff3/Makefile @@ -3,6 +3,6 @@ PROG= diff3 CFLAGS+= -I${SRCDIR}/lib -I${.CURDIR}/../libdiffutils -CFLAGS+= -I${.CURDIR}/../diff +CFLAGS+= -I${.CURDIR}/../diff -I${.CURDIR}/../libver .include diff --git a/gnu/usr.bin/diff/doc/Makefile b/gnu/usr.bin/diff/doc/Makefile index fc8dc0889d..bca5177c81 100644 --- a/gnu/usr.bin/diff/doc/Makefile +++ b/gnu/usr.bin/diff/doc/Makefile @@ -3,6 +3,6 @@ SRCDIR= ${BASEDIR}/doc INFOSECTION= "System Utilities" INFOENTRY_diff= "* DIFF: (diff). DIFF/PATCH Reference Manual." -INFO= diff +INFO= diffutils .include diff --git a/gnu/usr.bin/diff/libdiffutils/Makefile b/gnu/usr.bin/diff/libdiffutils/Makefile index 00d85800a6..d837747716 100644 --- a/gnu/usr.bin/diff/libdiffutils/Makefile +++ b/gnu/usr.bin/diff/libdiffutils/Makefile @@ -4,7 +4,7 @@ LIB= diffutils INTERNALLIB= true CONTRIBDIR= ${BASEDIR}/lib -.PATH: ${CONTRIBDIR} ${CONTRIBDIR}/uniwidth +.PATH: ${CONTRIBDIR} ${CONTRIBDIR}/uniwidth ${CONTRIBDIR}/unistr CFLAGS+= -I${CONTRIBDIR} -I${.CURDIR} -I${.OBJDIR} CFLAGS+= -DHAVE_CONFIG_H @@ -61,13 +61,18 @@ SRCS= c-stack.c \ strftime.c \ stripslash.c \ tempname.c \ - timegm.c \ uinttostr.c \ umaxtostr.c \ wcwidth.c \ xmalloc.c \ xstrtol.c \ xstrtol-error.c \ - xstrtoul.c + xstrtoul.c \ + filenamecat.c \ + filenamecat-lgpl.c \ + u8-mbtoucr.c \ + u8-uctomb.c \ + u8-uctomb-aux.c \ + strerror-override.c .include diff --git a/gnu/usr.bin/diff/libdiffutils/alloca.h b/gnu/usr.bin/diff/libdiffutils/alloca.h index 823905ba56..848693f1ba 100644 --- a/gnu/usr.bin/diff/libdiffutils/alloca.h +++ b/gnu/usr.bin/diff/libdiffutils/alloca.h @@ -3,7 +3,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Memory allocation on the stack. - Copyright (C) 1995, 1999, 2001-2004, 2006-2010 Free Software Foundation, + Copyright (C) 1995, 1999, 2001-2004, 2006-2011 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it diff --git a/gnu/usr.bin/diff/libdiffutils/config.h b/gnu/usr.bin/diff/libdiffutils/config.h index 1c4c00d28c..27c4957a4a 100644 --- a/gnu/usr.bin/diff/libdiffutils/config.h +++ b/gnu/usr.bin/diff/libdiffutils/config.h @@ -1,10 +1,6 @@ /* lib/config.h. Generated from config.hin by configure. */ /* lib/config.hin. Generated from configure.ac by autoheader. */ -/* Define if the compiler is building for multiple architectures of Apple - platforms at once. */ -/* #undef AA_APPLE_UNIVERSAL_BUILD */ - /* Define to the number of bits in type 'ptrdiff_t'. */ /* #undef BITSIZEOF_PTRDIFF_T */ @@ -47,18 +43,8 @@ /* Define this to 1 if F_DUPFD behavior does not match POSIX */ /* #undef FCNTL_DUPFD_BUGGY */ -/* Define on systems for which file names may have a so-called `drive letter' - prefix, define this to compute the length of that prefix, including the - colon. */ -#define FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX 0 - -/* Define if the backslash character may also serve as a file name component - separator. */ -#define FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR 0 - -/* Define if a drive letter prefix denotes a relative path if it is not - followed by a file name component separator. */ -#define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 0 +/* Define to 1 if nl_langinfo (YESEXPR) returns a non-empty string. */ +#define FUNC_NL_LANGINFO_YESEXPR_WORKS 1 /* Define if gettimeofday clobbers the localtime buffer. */ /* #undef GETTIMEOFDAY_CLOBBERS_LOCALTIME */ @@ -74,16 +60,29 @@ whether the gnulib module dirname shall be considered present. */ #define GNULIB_DIRNAME 1 +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module filenamecat shall be considered present. */ +#define GNULIB_FILENAMECAT 1 + /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module freopen-safer shall be considered present. */ #define GNULIB_FREOPEN_SAFER 1 -/* Define to indicate the 'malloc' module. */ +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module malloc-gnu shall be considered present. */ #define GNULIB_MALLOC_GNU 1 /* enable some gnulib portability checks */ /* #undef GNULIB_PORTCHECK */ +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module snprintf shall be considered present. */ +#define GNULIB_SNPRINTF IN_DIFFUTILS_GNULIB_TESTS + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module strerror shall be considered present. */ +#define GNULIB_STRERROR 1 + /* Define to 1 when the gnulib module btowc should be tested. */ #define GNULIB_TEST_BTOWC 1 @@ -99,24 +98,30 @@ /* Define to 1 when the gnulib module freopen should be tested. */ #define GNULIB_TEST_FREOPEN 1 +/* Define to 1 when the gnulib module getcwd should be tested. */ +#define GNULIB_TEST_GETCWD 1 + /* Define to 1 when the gnulib module getdtablesize should be tested. */ #define GNULIB_TEST_GETDTABLESIZE 1 /* Define to 1 when the gnulib module getopt-gnu should be tested. */ #define GNULIB_TEST_GETOPT_GNU 1 +/* Define to 1 when the gnulib module getpagesize should be tested. */ +#define GNULIB_TEST_GETPAGESIZE 1 + /* Define to 1 when the gnulib module gettimeofday should be tested. */ #define GNULIB_TEST_GETTIMEOFDAY 1 +/* Define to 1 when the gnulib module iswblank should be tested. */ +#define GNULIB_TEST_ISWBLANK 1 + /* Define to 1 when the gnulib module lstat should be tested. */ #define GNULIB_TEST_LSTAT 1 /* Define to 1 when the gnulib module malloc-posix should be tested. */ #define GNULIB_TEST_MALLOC_POSIX 1 -/* Define to 1 when the gnulib module mbrlen should be tested. */ -#define GNULIB_TEST_MBRLEN 1 - /* Define to 1 when the gnulib module mbrtowc should be tested. */ #define GNULIB_TEST_MBRTOWC 1 @@ -135,6 +140,9 @@ /* Define to 1 when the gnulib module mbsstr should be tested. */ #define GNULIB_TEST_MBSSTR 1 +/* Define to 1 when the gnulib module mbtowc should be tested. */ +#define GNULIB_TEST_MBTOWC 1 + /* Define to 1 when the gnulib module memchr should be tested. */ #define GNULIB_TEST_MEMCHR 1 @@ -156,6 +164,9 @@ /* Define to 1 when the gnulib module setenv should be tested. */ #define GNULIB_TEST_SETENV 1 +/* Define to 1 when the gnulib module setlocale should be tested. */ +#define GNULIB_TEST_SETLOCALE 1 + /* Define to 1 when the gnulib module sigaction should be tested. */ #define GNULIB_TEST_SIGACTION 1 @@ -165,6 +176,9 @@ /* Define to 1 when the gnulib module sleep should be tested. */ #define GNULIB_TEST_SLEEP 1 +/* Define to 1 when the gnulib module snprintf should be tested. */ +#define GNULIB_TEST_SNPRINTF 1 + /* Define to 1 when the gnulib module stat should be tested. */ #define GNULIB_TEST_STAT 1 @@ -180,18 +194,12 @@ /* Define to 1 when the gnulib module strptime should be tested. */ #define GNULIB_TEST_STRPTIME 1 -/* Define to 1 when the gnulib module strtoll should be tested. */ -#define GNULIB_TEST_STRTOLL 1 - /* Define to 1 when the gnulib module strtoull should be tested. */ #define GNULIB_TEST_STRTOULL 1 /* Define to 1 when the gnulib module symlink should be tested. */ #define GNULIB_TEST_SYMLINK 1 -/* Define to 1 when the gnulib module timegm should be tested. */ -#define GNULIB_TEST_TIMEGM 1 - /* Define to 1 when the gnulib module time_r should be tested. */ #define GNULIB_TEST_TIME_R 1 @@ -207,9 +215,20 @@ /* Define to 1 when the gnulib module wctob should be tested. */ #define GNULIB_TEST_WCTOB 1 +/* Define to 1 when the gnulib module wctomb should be tested. */ +#define GNULIB_TEST_WCTOMB 1 + /* Define to 1 when the gnulib module wcwidth should be tested. */ #define GNULIB_TEST_WCWIDTH 1 +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module unistr/u8-mbtoucr shall be considered present. */ +#define GNULIB_UNISTR_U8_MBTOUCR 1 + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module unistr/u8-uctomb shall be considered present. */ +#define GNULIB_UNISTR_U8_UCTOMB 1 + /* Define to 1 if you have the `alarm' function. */ #define HAVE_ALARM 1 @@ -300,25 +319,29 @@ */ #define HAVE_DECL_GETENV 1 -/* Define to 1 if you have the declaration of `getopt_clip', and to 0 if you +/* Define to 1 if you have the declaration of `isblank', and to 0 if you don't. */ -/* #undef HAVE_DECL_GETOPT_CLIP */ +#define HAVE_DECL_ISBLANK 1 -/* Define to 1 if you have the declaration of `imaxabs', and to 0 if you +/* Define to 1 if you have the declaration of `iswblank', and to 0 if you don't. */ -#define HAVE_DECL_IMAXABS 1 +#define HAVE_DECL_ISWBLANK 1 -/* Define to 1 if you have the declaration of `imaxdiv', and to 0 if you +/* Define to 1 if you have the declaration of `localtime_r', and to 0 if you don't. */ -#define HAVE_DECL_IMAXDIV 1 +#define HAVE_DECL_LOCALTIME_R 1 -/* Define to 1 if you have the declaration of `isblank', and to 0 if you +/* Define to 1 if you have the declaration of `mbrtowc', and to 0 if you don't. */ -#define HAVE_DECL_ISBLANK 1 +/* #undef HAVE_DECL_MBRTOWC */ + +/* Define to 1 if you have the declaration of `mbsinit', and to 0 if you + don't. */ +/* #undef HAVE_DECL_MBSINIT */ -/* Define to 1 if you have the declaration of `optreset', and to 0 if you +/* Define to 1 if you have the declaration of `mbsrtowcs', and to 0 if you don't. */ -#define HAVE_DECL_OPTRESET 1 +/* #undef HAVE_DECL_MBSRTOWCS */ /* Define to 1 if you have the declaration of `program_invocation_name', and to 0 if you don't. */ @@ -336,6 +359,10 @@ don't. */ #define HAVE_DECL_PUTC_UNLOCKED 1 +/* Define to 1 if you have the declaration of `setenv', and to 0 if you don't. + */ +#define HAVE_DECL_SETENV 1 + /* Define to 1 if you have the declaration of `sigaltstack', and to 0 if you don't. */ #define HAVE_DECL_SIGALTSTACK 1 @@ -344,9 +371,9 @@ */ #define HAVE_DECL_SLEEP 1 -/* Define to 1 if you have the declaration of `strerror', and to 0 if you +/* Define to 1 if you have the declaration of `snprintf', and to 0 if you don't. */ -/* #undef HAVE_DECL_STRERROR */ +#define HAVE_DECL_SNPRINTF 1 /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ @@ -364,14 +391,6 @@ don't. */ #define HAVE_DECL_STRNLEN 1 -/* Define to 1 if you have the declaration of `strtoimax', and to 0 if you - don't. */ -#define HAVE_DECL_STRTOIMAX 1 - -/* Define to 1 if you have the declaration of `strtoll', and to 0 if you - don't. */ -/* #undef HAVE_DECL_STRTOLL */ - /* Define to 1 if you have the declaration of `strtoull', and to 0 if you don't. */ /* #undef HAVE_DECL_STRTOULL */ @@ -380,10 +399,22 @@ don't. */ #define HAVE_DECL_STRTOUMAX 1 +/* Define to 1 if you have the declaration of `towlower', and to 0 if you + don't. */ +/* #undef HAVE_DECL_TOWLOWER */ + /* Define to 1 if you have the declaration of `tzname', and to 0 if you don't. */ /* #undef HAVE_DECL_TZNAME */ +/* Define to 1 if you have the declaration of `unsetenv', and to 0 if you + don't. */ +#define HAVE_DECL_UNSETENV 1 + +/* Define to 1 if you have the declaration of `wcrtomb', and to 0 if you + don't. */ +/* #undef HAVE_DECL_WCRTOMB */ + /* Define to 1 if you have the declaration of `wctob', and to 0 if you don't. */ #define HAVE_DECL_WCTOB 1 @@ -392,24 +423,25 @@ don't. */ #define HAVE_DECL_WCWIDTH 1 +/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you + don't. */ +#define HAVE_DECL__SNPRINTF 0 + /* Define to 1 if you have the header file, and it defines `DIR'. */ #define HAVE_DIRENT_H 1 -/* Define to 1 if you have the `dup2' function. */ +/* Define to 1 if you have the 'dup2' function. */ #define HAVE_DUP2 1 /* Define if you have the declaration of environ. */ /* #undef HAVE_ENVIRON_DECL */ -/* Define to 1 if you have the header file. */ -#define HAVE_ERRNO_H 1 - /* Define to 1 if you have the `fcntl' function. */ #define HAVE_FCNTL 1 -/* Define to 1 if you have the header file. */ -#define HAVE_FCNTL_H 1 +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FEATURES_H */ /* Define to 1 if you have the `fork' function. */ #define HAVE_FORK 1 @@ -423,6 +455,9 @@ /* Define to 1 if you have the `getopt_long_only' function. */ #define HAVE_GETOPT_LONG_ONLY 1 +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + /* Define if the GNU gettext() function is already present or preinstalled. */ /* #undef HAVE_GETTEXT */ @@ -440,9 +475,16 @@ */ #define HAVE_INLINE 1 +/* Define if you have the 'intmax_t' type in or . */ +#define HAVE_INTMAX_T 1 + /* Define to 1 if you have the header file. */ #define HAVE_INTTYPES_H 1 +/* Define if exists, doesn't clash with , and + declares uintmax_t. */ +#define HAVE_INTTYPES_H_WITH_UINTMAX 1 + /* Define to 1 if you have the `isblank' function. */ #define HAVE_ISBLANK 1 @@ -467,9 +509,6 @@ /* Define if you have the libsigsegv library. */ /* #undef HAVE_LIBSIGSEGV */ -/* Define to 1 if you have the header file. */ -#define HAVE_LOCALE_H 1 - /* Define to 1 if you have the `localtime_r' function. */ #define HAVE_LOCALTIME_R 1 @@ -479,9 +518,9 @@ /* Define to 1 if you have the `lstat' function. */ #define HAVE_LSTAT 1 -/* Define to 1 if your system has a GNU libc compatible `malloc' function, and +/* Define to 1 if your system has a GNU libc compatible 'malloc' function, and to 0 otherwise. */ -#define HAVE_MALLOC 1 +#define HAVE_MALLOC_GNU 1 /* Define if the 'malloc' function is POSIX compliant. */ #define HAVE_MALLOC_POSIX 1 @@ -490,9 +529,6 @@ config.h and . */ #define HAVE_MAP_ANONYMOUS 1 -/* Define to 1 if you have the `mbrlen' function. */ -#define HAVE_MBRLEN 1 - /* Define to 1 if you have the `mbrtowc' function. */ #define HAVE_MBRTOWC 1 @@ -508,9 +544,6 @@ /* Define to 1 if declares mbstate_t. */ #define HAVE_MBSTATE_T 1 -/* Define to 1 if you have the `memchr' function. */ -#define HAVE_MEMCHR 1 - /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 @@ -529,14 +562,14 @@ /* Define to 1 if you have the header file, and it defines `DIR'. */ /* #undef HAVE_NDIR_H */ +/* Define to 1 if you have the `newlocale' function. */ +/* #undef HAVE_NEWLOCALE */ + /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 -/* Define to 1 if you have the `pathconf' function. */ -#define HAVE_PATHCONF 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_RANDOM_H */ +/* Define to 1 if you have the header file. */ +/* #undef HAVE_OS_H */ /* Define to 1 if atoll is declared even after undefining macros. */ #define HAVE_RAW_DECL_ATOLL 1 @@ -560,6 +593,9 @@ /* Define to 1 if dup3 is declared even after undefining macros. */ /* #undef HAVE_RAW_DECL_DUP3 */ +/* Define to 1 if duplocale is declared even after undefining macros. */ +/* #undef HAVE_RAW_DECL_DUPLOCALE */ + /* Define to 1 if endusershell is declared even after undefining macros. */ #define HAVE_RAW_DECL_ENDUSERSHELL 1 @@ -584,6 +620,15 @@ /* Define to 1 if fcntl is declared even after undefining macros. */ #define HAVE_RAW_DECL_FCNTL 1 +/* Define to 1 if ffs is declared even after undefining macros. */ +#define HAVE_RAW_DECL_FFS 1 + +/* Define to 1 if ffsl is declared even after undefining macros. */ +#define HAVE_RAW_DECL_FFSL 1 + +/* Define to 1 if ffsll is declared even after undefining macros. */ +#define HAVE_RAW_DECL_FFSLL 1 + /* Define to 1 if fpurge is declared even after undefining macros. */ #define HAVE_RAW_DECL_FPURGE 1 @@ -650,6 +695,9 @@ /* Define to 1 if grantpt is declared even after undefining macros. */ #define HAVE_RAW_DECL_GRANTPT 1 +/* Define to 1 if group_member is declared even after undefining macros. */ +/* #undef HAVE_RAW_DECL_GROUP_MEMBER */ + /* Define to 1 if imaxabs is declared even after undefining macros. */ #define HAVE_RAW_DECL_IMAXABS 1 @@ -659,6 +707,9 @@ /* Define to 1 if initstat_r is declared even after undefining macros. */ /* #undef HAVE_RAW_DECL_INITSTAT_R */ +/* Define to 1 if iswctype is declared even after undefining macros. */ +#define HAVE_RAW_DECL_ISWCTYPE 1 + /* Define to 1 if lchmod is declared even after undefining macros. */ #define HAVE_RAW_DECL_LCHMOD 1 @@ -737,6 +788,9 @@ /* Define to 1 if openat is declared even after undefining macros. */ #define HAVE_RAW_DECL_OPENAT 1 +/* Define to 1 if pipe is declared even after undefining macros. */ +#define HAVE_RAW_DECL_PIPE 1 + /* Define to 1 if pipe2 is declared even after undefining macros. */ /* #undef HAVE_RAW_DECL_PIPE2 */ @@ -746,9 +800,15 @@ /* Define to 1 if pread is declared even after undefining macros. */ #define HAVE_RAW_DECL_PREAD 1 +/* Define to 1 if pthread_sigmask is declared even after undefining macros. */ +#define HAVE_RAW_DECL_PTHREAD_SIGMASK 1 + /* Define to 1 if ptsname is declared even after undefining macros. */ #define HAVE_RAW_DECL_PTSNAME 1 +/* Define to 1 if pwrite is declared even after undefining macros. */ +#define HAVE_RAW_DECL_PWRITE 1 + /* Define to 1 if random_r is declared even after undefining macros. */ /* #undef HAVE_RAW_DECL_RANDOM_R */ @@ -776,6 +836,9 @@ /* Define to 1 if setenv is declared even after undefining macros. */ #define HAVE_RAW_DECL_SETENV 1 +/* Define to 1 if setlocale is declared even after undefining macros. */ +#define HAVE_RAW_DECL_SETLOCALE 1 + /* Define to 1 if setstate_r is declared even after undefining macros. */ /* #undef HAVE_RAW_DECL_SETSTATE_R */ @@ -836,6 +899,9 @@ /* Define to 1 if strdup is declared even after undefining macros. */ #define HAVE_RAW_DECL_STRDUP 1 +/* Define to 1 if strerror_r is declared even after undefining macros. */ +#define HAVE_RAW_DECL_STRERROR_R 1 + /* Define to 1 if strncasecmp is declared even after undefining macros. */ #define HAVE_RAW_DECL_STRNCASECMP 1 @@ -887,6 +953,9 @@ /* Define to 1 if tmpfile is declared even after undefining macros. */ #define HAVE_RAW_DECL_TMPFILE 1 +/* Define to 1 if towctrans is declared even after undefining macros. */ +#define HAVE_RAW_DECL_TOWCTRANS 1 + /* Define to 1 if ttyname_r is declared even after undefining macros. */ #define HAVE_RAW_DECL_TTYNAME_R 1 @@ -914,21 +983,117 @@ /* Define to 1 if vsnprintf is declared even after undefining macros. */ #define HAVE_RAW_DECL_VSNPRINTF 1 +/* Define to 1 if waitpid is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WAITPID 1 + +/* Define to 1 if wcpcpy is declared even after undefining macros. */ +/* #undef HAVE_RAW_DECL_WCPCPY */ + +/* Define to 1 if wcpncpy is declared even after undefining macros. */ +/* #undef HAVE_RAW_DECL_WCPNCPY */ + /* Define to 1 if wcrtomb is declared even after undefining macros. */ #define HAVE_RAW_DECL_WCRTOMB 1 +/* Define to 1 if wcscasecmp is declared even after undefining macros. */ +/* #undef HAVE_RAW_DECL_WCSCASECMP */ + +/* Define to 1 if wcscat is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSCAT 1 + +/* Define to 1 if wcschr is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSCHR 1 + +/* Define to 1 if wcscmp is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSCMP 1 + +/* Define to 1 if wcscoll is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSCOLL 1 + +/* Define to 1 if wcscpy is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSCPY 1 + +/* Define to 1 if wcscspn is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSCSPN 1 + +/* Define to 1 if wcsdup is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSDUP 1 + +/* Define to 1 if wcslen is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSLEN 1 + +/* Define to 1 if wcsncasecmp is declared even after undefining macros. */ +/* #undef HAVE_RAW_DECL_WCSNCASECMP */ + +/* Define to 1 if wcsncat is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSNCAT 1 + +/* Define to 1 if wcsncmp is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSNCMP 1 + +/* Define to 1 if wcsncpy is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSNCPY 1 + +/* Define to 1 if wcsnlen is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSNLEN 1 + /* Define to 1 if wcsnrtombs is declared even after undefining macros. */ /* #undef HAVE_RAW_DECL_WCSNRTOMBS */ +/* Define to 1 if wcspbrk is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSPBRK 1 + +/* Define to 1 if wcsrchr is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSRCHR 1 + /* Define to 1 if wcsrtombs is declared even after undefining macros. */ #define HAVE_RAW_DECL_WCSRTOMBS 1 +/* Define to 1 if wcsspn is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSSPN 1 + +/* Define to 1 if wcsstr is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSSTR 1 + +/* Define to 1 if wcstok is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSTOK 1 + +/* Define to 1 if wcswidth is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSWIDTH 1 + +/* Define to 1 if wcsxfrm is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCSXFRM 1 + /* Define to 1 if wctob is declared even after undefining macros. */ #define HAVE_RAW_DECL_WCTOB 1 +/* Define to 1 if wctrans is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCTRANS 1 + +/* Define to 1 if wctype is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WCTYPE 1 + /* Define to 1 if wcwidth is declared even after undefining macros. */ #define HAVE_RAW_DECL_WCWIDTH 1 +/* Define to 1 if wmemchr is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WMEMCHR 1 + +/* Define to 1 if wmemcmp is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WMEMCMP 1 + +/* Define to 1 if wmemcpy is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WMEMCPY 1 + +/* Define to 1 if wmemmove is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WMEMMOVE 1 + +/* Define to 1 if wmemset is declared even after undefining macros. */ +#define HAVE_RAW_DECL_WMEMSET 1 + +/* Define to 1 if _Exit is declared even after undefining macros. */ +#define HAVE_RAW_DECL__EXIT 1 + /* Define to 1 if you have the header file. */ #define HAVE_SEARCH_H 1 @@ -953,9 +1118,6 @@ /* Define to 1 if you have the `siginterrupt' function. */ #define HAVE_SIGINTERRUPT 1 -/* Define to 1 if you have the header file. */ -#define HAVE_SIGNAL_H 1 - /* Define to 1 if 'sig_atomic_t' is a signed integer type. */ /* #undef HAVE_SIGNED_SIG_ATOMIC_T */ @@ -969,11 +1131,19 @@ #define HAVE_SIGPROCMASK 1 /* Define to 1 if the system has the type `sigset_t'. */ -/* #undef HAVE_SIGSET_T */ +#define HAVE_SIGSET_T 1 /* Define to 1 if you have the `sleep' function. */ #define HAVE_SLEEP 1 +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define if the return value of the snprintf function is the number of of + bytes (excluding the terminating NUL) that would have been produced if the + buffer had been large enough. */ +#define HAVE_SNPRINTF_RETVAL_C99 1 + /* Define to 1 if extending the stack slightly past the limit causes a SIGSEGV which can be handled on an alternate stack established with sigaltstack. */ #define HAVE_STACK_OVERFLOW_HANDLING 1 @@ -981,20 +1151,12 @@ /* Define to 1 if the system has the type `stack_t'. */ #define HAVE_STACK_T 1 -/* Define to 1 if you have the header file. */ -#define HAVE_STDARG_H 1 - -/* Define to 1 if stdbool.h conforms to C99. */ -#define HAVE_STDBOOL_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDDEF_H 1 - /* Define to 1 if you have the header file. */ #define HAVE_STDINT_H 1 -/* Define to 1 if you have the header file. */ -#define HAVE_STDIO_H 1 +/* Define if exists, doesn't clash with , and declares + uintmax_t. */ +#define HAVE_STDINT_H_WITH_UINTMAX 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 @@ -1023,30 +1185,18 @@ /* Define to 1 if you have the `strndup' function. */ #define HAVE_STRNDUP 1 +/* Define to 1 if you have the `strnlen' function. */ +#define HAVE_STRNLEN 1 + /* Define to 1 if you have the `strptime' function. */ #define HAVE_STRPTIME 1 -/* Define to 1 if you have the `strtoimax' function. */ -#define HAVE_STRTOIMAX 1 - -/* Define to 1 if you have the `strtol' function. */ -#define HAVE_STRTOL 1 - -/* Define to 1 if you have the `strtoll' function. */ -#define HAVE_STRTOLL 1 - -/* Define to 1 if you have the `strtoul' function. */ -#define HAVE_STRTOUL 1 - /* Define to 1 if you have the `strtoull' function. */ #define HAVE_STRTOULL 1 /* Define to 1 if you have the `strtoumax' function. */ #define HAVE_STRTOUMAX 1 -/* Define to 1 if the system has the type `struct random_data'. */ -/* #undef HAVE_STRUCT_RANDOM_DATA */ - /* Define to 1 if `sa_sigaction' is a member of `struct sigaction'. */ #define HAVE_STRUCT_SIGACTION_SA_SIGACTION 1 @@ -1121,12 +1271,6 @@ /* Define to 1 if you have that is POSIX.1 compatible. */ #define HAVE_SYS_WAIT_H 1 -/* Define to 1 if you have the `timegm' function. */ -#define HAVE_TIMEGM 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_TIME_H 1 - /* Define if struct tm has the tm_gmtoff member. */ #define HAVE_TM_GMTOFF 1 @@ -1134,6 +1278,9 @@ `HAVE_STRUCT_TM_TM_ZONE' instead. */ #define HAVE_TM_ZONE 1 +/* Define to 1 if you have the `towlower' function. */ +#define HAVE_TOWLOWER 1 + /* Define to 1 if you have the `tsearch' function. */ #define HAVE_TSEARCH 1 @@ -1159,6 +1306,9 @@ /* Define to 1 if you have the `usleep' function. */ #define HAVE_USLEEP 1 +/* Define to 1 if you have the `vasnprintf' function. */ +/* #undef HAVE_VASNPRINTF */ + /* Define to 1 if you have the `vfork' function. */ #define HAVE_VFORK 1 @@ -1177,6 +1327,12 @@ /* Define to 1 if you have the `wcscoll' function. */ #define HAVE_WCSCOLL 1 +/* Define to 1 if you have the `wcslen' function. */ +#define HAVE_WCSLEN 1 + +/* Define to 1 if you have the `wcsnlen' function. */ +#define HAVE_WCSNLEN 1 + /* Define to 1 if you have the `wctob' function. */ #define HAVE_WCTOB 1 @@ -1213,6 +1369,9 @@ /* Define to 1 if `vfork' works. */ #define HAVE_WORKING_VFORK 1 +/* Define to 1 if you have the header file. */ +/* #undef HAVE_XLOCALE_H */ + /* Define to 1 if extending the stack slightly past the limit causes a SIGSEGV, and an alternate stack can be established with sigaltstack, and the signal handler is passed a context that specifies the run time stack. @@ -1227,6 +1386,9 @@ /* Define to 1 if you have the `_ftime' function. */ /* #undef HAVE__FTIME */ +/* Define to 1 if you have the `__xpg_strerror_r' function. */ +/* #undef HAVE___XPG_STRERROR_R */ + /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST @@ -1234,12 +1396,6 @@ implementation. */ /* #undef ICONV_FLAVOR */ -#if FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR -# define ISSLASH(C) ((C) == '/' || (C) == '\\') -#else -# define ISSLASH(C) ((C) == '/') -#endif - /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ #define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 @@ -1250,8 +1406,11 @@ /* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */ #define MAP_ANONYMOUS MAP_ANON +/* Define if the mbrtowc function has the NULL pwc argument bug. */ +/* #undef MBRTOWC_NULL_ARG1_BUG */ + /* Define if the mbrtowc function has the NULL string argument bug. */ -/* #undef MBRTOWC_NULL_ARG_BUG */ +/* #undef MBRTOWC_NULL_ARG2_BUG */ /* Define if the mbrtowc function does not return 0 for a NUL character. */ /* #undef MBRTOWC_NUL_RETVAL_BUG */ @@ -1284,7 +1443,7 @@ /* #undef PACKAGE_PACKAGER_VERSION */ /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU diffutils 3.0" +#define PACKAGE_STRING "GNU diffutils 3.2" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "diffutils" @@ -1293,7 +1452,7 @@ #define PACKAGE_URL "http://www.gnu.org/software/diffutils/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "3.0" +#define PACKAGE_VERSION "3.2" /* Define if exists and defines unusable PRI* macros. */ /* #undef PRI_MACROS_BROKEN */ @@ -1320,8 +1479,11 @@ /* Define if nl_langinfo exists but is overridden by gnulib. */ /* #undef REPLACE_NL_LANGINFO */ -/* Define this to 1 if strerror is broken. */ -/* #undef REPLACE_STRERROR */ +/* Define to 1 if strerror(0) does not return a message implying success. */ +#define REPLACE_STRERROR_0 1 + +/* Define if vasnprintf exists but is overridden by gnulib. */ +/* #undef REPLACE_VASNPRINTF */ /* Define if sigaltstack() interprets the stack_t.ss_sp field incorrectly, as the highest address of the alternate stack range rather than as the lowest @@ -1332,6 +1494,12 @@ 'sig_atomic_t'. */ /* #undef SIG_ATOMIC_T_SUFFIX */ +/* Define as the maximum value of type 'size_t', if the system doesn't define + it. */ +#ifndef SIZE_MAX +/* # undef SIZE_MAX */ +#endif + /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'size_t'. */ /* #undef SIZE_T_SUFFIX */ @@ -1339,9 +1507,9 @@ /* If using the C implementation of alloca, define if you know the direction of stack growth for your system; otherwise it will be automatically deduced at runtime. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown */ + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ /* #undef STACK_DIRECTION */ /* Define to 1 if the `S_IS*' macros in do not work properly. */ @@ -1366,7 +1534,7 @@ #define USE_UNLOCKED_IO 1 /* Version number of package */ -#define VERSION "3.0" +#define VERSION "3.2" /* Define to 1 if unsetenv returns void instead of int. */ /* #undef VOID_UNSETENV */ @@ -1379,6 +1547,11 @@ 'wint_t'. */ /* #undef WINT_T_SUFFIX */ +/* Enable large inode numbers on Mac OS X. */ +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif + /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ @@ -1391,6 +1564,19 @@ /* Define to 1 if on MINIX. */ /* #undef _MINIX */ +/* The _Noreturn keyword of draft C1X. */ +#ifndef _Noreturn +# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \ + || 0x5110 <= __SUNPRO_C) +# define _Noreturn __attribute__ ((__noreturn__)) +# elif 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn +# endif +#endif + + /* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ /* #undef _POSIX_1_SOURCE */ @@ -1408,6 +1594,10 @@ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif +/* Enable general extensions on MacOS X. */ +#ifndef _DARWIN_C_SOURCE +# define _DARWIN_C_SOURCE 1 +#endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 @@ -1455,6 +1645,9 @@ /* #undef inline */ #endif +/* Define to long or long long if and don't define. */ +/* #undef intmax_t */ + /* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of earlier versions), but does not display it by setting __GNUC_STDC_INLINE__. @@ -1471,15 +1664,9 @@ /* Define to rpl_localtime if the replacement function should be used. */ /* #undef localtime */ -/* Define to rpl_malloc if the replacement function should be used. */ -/* #undef malloc */ - /* Define to a type if does not define. */ /* #undef mbstate_t */ -/* Define to rpl_mktime if the replacement function should be used. */ -/* #undef mktime */ - /* Define to `int' if does not define. */ /* #undef mode_t */ @@ -1495,6 +1682,10 @@ /* Define to `int' if does not define. */ /* #undef pid_t */ +/* Define as the type of the result of subtracting two pointers, if the system + doesn't define it. */ +/* #undef ptrdiff_t */ + /* Define to rpl_re_comp if the replacement should be used. */ #define re_comp rpl_re_comp @@ -1554,6 +1745,9 @@ # define __restrict__ #endif +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + /* Define as a signed type of the same size as size_t. */ /* #undef ssize_t */ @@ -1572,6 +1766,20 @@ is a misnomer outside of parameter lists. */ #define _UNUSED_PARAMETER_ _GL_UNUSED +/* The __pure__ attribute was added in gcc 2.96. */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +# define _GL_ATTRIBUTE_PURE /* empty */ +#endif + +/* The __const__ attribute was added in gcc 2.95. */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) +# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) +#else +# define _GL_ATTRIBUTE_CONST /* empty */ +#endif + /* Define to an unsigned 32-bit type if lacks this type. */ /* #undef useconds_t */ diff --git a/gnu/usr.bin/diff/libdiffutils/fcntl.h b/gnu/usr.bin/diff/libdiffutils/fcntl.h index c00671e120..fd146ec738 100644 --- a/gnu/usr.bin/diff/libdiffutils/fcntl.h +++ b/gnu/usr.bin/diff/libdiffutils/fcntl.h @@ -1,7 +1,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Like , but with non-working flags defined to 0. - Copyright (C) 2006-2010 Free Software Foundation, Inc. + Copyright (C) 2006-2011 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -22,11 +22,18 @@ #pragma GCC system_header #endif + #if defined __need_system_fcntl_h /* Special invocation convention. */ #include -#ifndef __GLIBC__ /* Avoid namespace pollution on glibc systems. */ +/* On some systems other than glibc, is a prerequisite of + . On glibc systems, we would like to avoid namespace pollution. + But on glibc systems, includes inside an + extern "C" { ... } block, which leads to errors in C++ mode with the + overridden from gnulib. These errors are known to be gone + with g++ version >= 4.3. */ +#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))) # include #endif #include_next @@ -37,7 +44,13 @@ #ifndef _GL_FCNTL_H #include -#ifndef __GLIBC__ /* Avoid namespace pollution on glibc systems. */ +/* On some systems other than glibc, is a prerequisite of + . On glibc systems, we would like to avoid namespace pollution. + But on glibc systems, includes inside an + extern "C" { ... } block, which leads to errors in C++ mode with the + overridden from gnulib. These errors are known to be gone + with g++ version >= 4.3. */ +#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))) # include #endif /* The include_next requires a split double-inclusion guard. */ @@ -259,10 +272,20 @@ _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE) # define _GL_CXXALIASWARN_1(func,namespace) \ _GL_CXXALIASWARN_2 (func, namespace) -# define _GL_CXXALIASWARN_2(func,namespace) \ - _GL_WARN_ON_USE (func, \ - "The symbol ::" #func " refers to the system function. " \ - "Use " #namespace "::" #func " instead.") +/* To work around GCC bug , + we enable the warning only when not optimizing. */ +# if !__OPTIMIZE__ +# define _GL_CXXALIASWARN_2(func,namespace) \ + _GL_WARN_ON_USE (func, \ + "The symbol ::" #func " refers to the system function. " \ + "Use " #namespace "::" #func " instead.") +# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING +# define _GL_CXXALIASWARN_2(func,namespace) \ + extern __typeof__ (func) func +# else +# define _GL_CXXALIASWARN_2(func,namespace) \ + _GL_EXTERN_C int _gl_cxxalias_dummy +# endif #else # define _GL_CXXALIASWARN(func) \ _GL_EXTERN_C int _gl_cxxalias_dummy @@ -277,10 +300,20 @@ GNULIB_NAMESPACE) # define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \ _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace) -# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ - _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \ - "The symbol ::" #func " refers to the system function. " \ - "Use " #namespace "::" #func " instead.") +/* To work around GCC bug , + we enable the warning only when not optimizing. */ +# if !__OPTIMIZE__ +# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ + _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \ + "The symbol ::" #func " refers to the system function. " \ + "Use " #namespace "::" #func " instead.") +# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING +# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ + extern __typeof__ (func) func +# else +# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ + _GL_EXTERN_C int _gl_cxxalias_dummy +# endif #else # define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \ _GL_EXTERN_C int _gl_cxxalias_dummy @@ -386,7 +419,11 @@ _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...)); # else _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...)); # endif +/* On HP-UX 11, in C++ mode, open() is defined as an inline function with a + default argument. _GL_CXXALIASWARN does not work in this case. */ +# if !defined __hpux _GL_CXXALIASWARN (open); +# endif #elif defined GNULIB_POSIXCHECK # undef open /* Assume open is always declared. */ @@ -457,11 +494,14 @@ _GL_WARN_ON_USE (openat, "openat is not portable - " #endif #if !defined O_CLOEXEC && defined O_NOINHERIT -/* Mingw spells it `O_NOINHERIT'. Intentionally leave it - undefined if not available. */ +/* Mingw spells it `O_NOINHERIT'. */ # define O_CLOEXEC O_NOINHERIT #endif +#ifndef O_CLOEXEC +# define O_CLOEXEC 0 +#endif + #ifndef O_DIRECT # define O_DIRECT 0 #endif @@ -474,6 +514,10 @@ _GL_WARN_ON_USE (openat, "openat is not portable - " # define O_DSYNC 0 #endif +#ifndef O_EXEC +# define O_EXEC O_RDONLY /* This is often close enough in older systems. */ +#endif + #ifndef O_NDELAY # define O_NDELAY 0 #endif @@ -486,6 +530,19 @@ _GL_WARN_ON_USE (openat, "openat is not portable - " # define O_NONBLOCK O_NDELAY #endif +/* If the gnulib module 'nonblocking' is in use, guarantee a working non-zero + value of O_NONBLOCK. Otherwise, O_NONBLOCK is defined (above) to O_NDELAY + or to 0 as fallback. */ +#if 0 +# if O_NONBLOCK +# define GNULIB_defined_O_NONBLOCK 0 +# else +# define GNULIB_defined_O_NONBLOCK 1 +# undef O_NONBLOCK +# define O_NONBLOCK 0x40000000 +# endif +#endif + #ifndef O_NOCTTY # define O_NOCTTY 0 #endif @@ -502,6 +559,10 @@ _GL_WARN_ON_USE (openat, "openat is not portable - " # define O_RSYNC 0 #endif +#ifndef O_SEARCH +# define O_SEARCH O_RDONLY /* This is often close enough in older systems. */ +#endif + #ifndef O_SYNC # define O_SYNC 0 #endif @@ -510,6 +571,11 @@ _GL_WARN_ON_USE (openat, "openat is not portable - " # define O_TTY_INIT 0 #endif +#if O_ACCMODE != (O_RDONLY | O_WRONLY | O_RDWR | O_EXEC | O_SEARCH) +# undef O_ACCMODE +# define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR | O_EXEC | O_SEARCH) +#endif + /* For systems that distinguish between text and binary I/O. O_BINARY is usually declared in fcntl.h */ #if !defined O_BINARY && defined _O_BINARY diff --git a/gnu/usr.bin/diff/libdiffutils/fnmatch.h b/gnu/usr.bin/diff/libdiffutils/fnmatch.h index 9e54261529..52d439f82a 100644 --- a/gnu/usr.bin/diff/libdiffutils/fnmatch.h +++ b/gnu/usr.bin/diff/libdiffutils/fnmatch.h @@ -1,8 +1,8 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ -/* Copyright (C) 1991, 1992, 1993, 1996, 1997, 1998, 1999, 2001, 2002, 2003, - 2005, 2007, 2009, 2010 Free Software Foundation, Inc. +/* Copyright (C) 1991-1993, 1996-1999, 2001-2003, 2005, 2007, 2009-2011 Free + Software Foundation, Inc. This file is part of the GNU C Library. diff --git a/gnu/usr.bin/diff/libdiffutils/getopt.h b/gnu/usr.bin/diff/libdiffutils/getopt.h index 7fa4fd3b5b..a033c121ec 100644 --- a/gnu/usr.bin/diff/libdiffutils/getopt.h +++ b/gnu/usr.bin/diff/libdiffutils/getopt.h @@ -1,6 +1,6 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Declarations for getopt. - Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2010 Free Software + Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2011 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -23,6 +23,7 @@ #pragma GCC system_header #endif + /* The include_next requires a split double-inclusion guard. We must also inform the replacement unistd.h to not recursively use ; our definitions will be present soon enough. */ @@ -191,6 +192,7 @@ extern int optopt; one). For long options that have a zero `flag' field, `getopt' returns the contents of the `val' field. */ +# if !GNULIB_defined_struct_option struct option { const char *name; @@ -200,6 +202,8 @@ struct option int *flag; int val; }; +# define GNULIB_defined_struct_option 1 +# endif /* Names for the values of the `has_arg' field of `struct option'. */ @@ -256,5 +260,5 @@ extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv, /* Make sure we later can get all the definitions and declarations. */ #undef __need_getopt -#endif /* getopt.h */ -#endif /* getopt.h */ +#endif /* _GL_GETOPT_H */ +#endif /* _GL_GETOPT_H */ diff --git a/gnu/usr.bin/diff/libdiffutils/string.h b/gnu/usr.bin/diff/libdiffutils/string.h index 88c00e69d6..8f5216fb47 100644 --- a/gnu/usr.bin/diff/libdiffutils/string.h +++ b/gnu/usr.bin/diff/libdiffutils/string.h @@ -3,7 +3,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A GNU-like . - Copyright (C) 1995-1996, 2001-2010 Free Software Foundation, Inc. + Copyright (C) 1995-1996, 2001-2011 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,6 +25,7 @@ #pragma GCC system_header #endif + /* The include_next requires a split double-inclusion guard. */ #include_next @@ -39,17 +40,20 @@ # include #endif -#ifndef __attribute__ -/* This feature is available in gcc versions 2.5 and later. */ -# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) -# define __attribute__(Spec) /* empty */ -# endif -/* The attribute __pure__ was added in gcc 2.96. */ -# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 96) -# define __pure__ /* empty */ -# endif +/* The __attribute__ feature is available in gcc versions 2.5 and later. + The attribute __pure__ was added in gcc 2.96. */ +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +# define _GL_ATTRIBUTE_PURE /* empty */ #endif +/* NetBSD 5.0 declares strsignal in , not in . */ +/* But in any case avoid namespace pollution on glibc systems. */ +#if (0 || defined GNULIB_POSIXCHECK) && defined __NetBSD__ \ + && ! defined __GLIBC__ +# include +#endif /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ #ifndef _GL_CXXDEFS_H @@ -259,10 +263,20 @@ _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE) # define _GL_CXXALIASWARN_1(func,namespace) \ _GL_CXXALIASWARN_2 (func, namespace) -# define _GL_CXXALIASWARN_2(func,namespace) \ - _GL_WARN_ON_USE (func, \ - "The symbol ::" #func " refers to the system function. " \ - "Use " #namespace "::" #func " instead.") +/* To work around GCC bug , + we enable the warning only when not optimizing. */ +# if !__OPTIMIZE__ +# define _GL_CXXALIASWARN_2(func,namespace) \ + _GL_WARN_ON_USE (func, \ + "The symbol ::" #func " refers to the system function. " \ + "Use " #namespace "::" #func " instead.") +# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING +# define _GL_CXXALIASWARN_2(func,namespace) \ + extern __typeof__ (func) func +# else +# define _GL_CXXALIASWARN_2(func,namespace) \ + _GL_EXTERN_C int _gl_cxxalias_dummy +# endif #else # define _GL_CXXALIASWARN(func) \ _GL_EXTERN_C int _gl_cxxalias_dummy @@ -277,10 +291,20 @@ GNULIB_NAMESPACE) # define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \ _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace) -# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ - _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \ - "The symbol ::" #func " refers to the system function. " \ - "Use " #namespace "::" #func " instead.") +/* To work around GCC bug , + we enable the warning only when not optimizing. */ +# if !__OPTIMIZE__ +# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ + _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \ + "The symbol ::" #func " refers to the system function. " \ + "Use " #namespace "::" #func " instead.") +# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING +# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ + extern __typeof__ (func) func +# else +# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ + _GL_EXTERN_C int _gl_cxxalias_dummy +# endif #else # define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \ _GL_EXTERN_C int _gl_cxxalias_dummy @@ -349,6 +373,36 @@ _GL_WARN_EXTERN_C int _gl_warn_on_use #endif +/* Find the index of the least-significant set bit. */ +#if 0 +# if !1 +_GL_FUNCDECL_SYS (ffsl, int, (long int i)); +# endif +_GL_CXXALIAS_SYS (ffsl, int, (long int i)); +_GL_CXXALIASWARN (ffsl); +#elif defined GNULIB_POSIXCHECK +# undef ffsl +# if HAVE_RAW_DECL_FFSL +_GL_WARN_ON_USE (ffsl, "ffsl is not portable - use the ffsl module"); +# endif +#endif + + +/* Find the index of the least-significant set bit. */ +#if 0 +# if !1 +_GL_FUNCDECL_SYS (ffsll, int, (long long int i)); +# endif +_GL_CXXALIAS_SYS (ffsll, int, (long long int i)); +_GL_CXXALIASWARN (ffsll); +#elif defined GNULIB_POSIXCHECK +# undef ffsll +# if HAVE_RAW_DECL_FFSLL +_GL_WARN_ON_USE (ffsll, "ffsll is not portable - use the ffsll module"); +# endif +#endif + + /* Return the first instance of C within N bytes of S, or NULL. */ #if 1 # if 0 @@ -356,13 +410,13 @@ _GL_WARN_EXTERN_C int _gl_warn_on_use # define memchr rpl_memchr # endif _GL_FUNCDECL_RPL (memchr, void *, (void const *__s, int __c, size_t __n) - __attribute__ ((__pure__)) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (memchr, void *, (void const *__s, int __c, size_t __n)); # else # if ! 1 _GL_FUNCDECL_SYS (memchr, void *, (void const *__s, int __c, size_t __n) - __attribute__ ((__pure__)) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); # endif /* On some systems, this function is defined as an overloaded function: @@ -372,7 +426,7 @@ _GL_CXXALIAS_SYS_CAST2 (memchr, void *, (void const *__s, int __c, size_t __n), void const *, (void const *__s, int __c, size_t __n)); # endif -# if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 10 \ +# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (memchr, void *, (void *__s, int __c, size_t __n)); _GL_CXXALIASWARN1 (memchr, void const *, @@ -396,7 +450,8 @@ _GL_WARN_ON_USE (memchr, "memchr has platform-specific bugs - " _GL_FUNCDECL_RPL (memmem, void *, (void const *__haystack, size_t __haystack_len, void const *__needle, size_t __needle_len) - __attribute__ ((__pure__)) _GL_ARG_NONNULL ((1, 3))); + _GL_ATTRIBUTE_PURE + _GL_ARG_NONNULL ((1, 3))); _GL_CXXALIAS_RPL (memmem, void *, (void const *__haystack, size_t __haystack_len, void const *__needle, size_t __needle_len)); @@ -405,7 +460,8 @@ _GL_CXXALIAS_RPL (memmem, void *, _GL_FUNCDECL_SYS (memmem, void *, (void const *__haystack, size_t __haystack_len, void const *__needle, size_t __needle_len) - __attribute__ ((__pure__)) _GL_ARG_NONNULL ((1, 3))); + _GL_ATTRIBUTE_PURE + _GL_ARG_NONNULL ((1, 3))); # endif _GL_CXXALIAS_SYS (memmem, void *, (void const *__haystack, size_t __haystack_len, @@ -446,7 +502,7 @@ _GL_WARN_ON_USE (mempcpy, "mempcpy is unportable - " #if 0 # if ! 1 _GL_FUNCDECL_SYS (memrchr, void *, (void const *, int, size_t) - __attribute__ ((__pure__)) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); # endif /* On some systems, this function is defined as an overloaded function: @@ -455,7 +511,7 @@ _GL_FUNCDECL_SYS (memrchr, void *, (void const *, int, size_t) _GL_CXXALIAS_SYS_CAST2 (memrchr, void *, (void const *, int, size_t), void const *, (void const *, int, size_t)); -# if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 10 \ +# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (memrchr, void *, (void *, int, size_t)); _GL_CXXALIASWARN1 (memrchr, void const *, (void const *, int, size_t)); @@ -476,7 +532,7 @@ _GL_WARN_ON_USE (memrchr, "memrchr is unportable - " #if 0 # if ! 1 _GL_FUNCDECL_SYS (rawmemchr, void *, (void const *__s, int __c_in) - __attribute__ ((__pure__)) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); # endif /* On some systems, this function is defined as an overloaded function: @@ -485,7 +541,7 @@ _GL_FUNCDECL_SYS (rawmemchr, void *, (void const *__s, int __c_in) _GL_CXXALIAS_SYS_CAST2 (rawmemchr, void *, (void const *__s, int __c_in), void const *, (void const *__s, int __c_in)); -# if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 10 \ +# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (rawmemchr, void *, (void *__s, int __c_in)); _GL_CXXALIASWARN1 (rawmemchr, void const *, (void const *__s, int __c_in)); @@ -523,6 +579,7 @@ _GL_WARN_ON_USE (stpcpy, "stpcpy is unportable - " #if 0 # if 0 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef stpncpy # define stpncpy rpl_stpncpy # endif _GL_FUNCDECL_RPL (stpncpy, char *, @@ -564,18 +621,29 @@ _GL_WARN_ON_USE (strchr, "strchr cannot work correctly on character strings " /* Find the first occurrence of C in S or the final NUL byte. */ #if 0 -# if ! 1 +# if 0 +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# define strchrnul rpl_strchrnul +# endif +_GL_FUNCDECL_RPL (strchrnul, char *, (const char *__s, int __c_in) + _GL_ATTRIBUTE_PURE + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (strchrnul, char *, + (const char *str, int ch)); +# else +# if ! 1 _GL_FUNCDECL_SYS (strchrnul, char *, (char const *__s, int __c_in) - __attribute__ ((__pure__)) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); -# endif +# endif /* On some systems, this function is defined as an overloaded function: extern "C++" { const char * std::strchrnul (const char *, int); } extern "C++" { char * std::strchrnul (char *, int); } */ _GL_CXXALIAS_SYS_CAST2 (strchrnul, char *, (char const *__s, int __c_in), char const *, (char const *__s, int __c_in)); -# if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 10 \ +# endif +# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (strchrnul, char *, (char *__s, int __c_in)); _GL_CXXALIASWARN1 (strchrnul, char const *, (char const *__s, int __c_in)); @@ -600,6 +668,10 @@ _GL_WARN_ON_USE (strchrnul, "strchrnul is unportable - " _GL_FUNCDECL_RPL (strdup, char *, (char const *__s) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (strdup, char *, (char const *__s)); # else +# if defined __cplusplus && defined GNULIB_NAMESPACE && defined strdup + /* strdup exists as a function and as a macro. Get rid of the macro. */ +# undef strdup +# endif # if !(1 || defined strdup) _GL_FUNCDECL_SYS (strdup, char *, (char const *__s) _GL_ARG_NONNULL ((1))); # endif @@ -672,13 +744,13 @@ _GL_WARN_ON_USE (strndup, "strndup is unportable - " # define strnlen rpl_strnlen # endif _GL_FUNCDECL_RPL (strnlen, size_t, (char const *__string, size_t __maxlen) - __attribute__ ((__pure__)) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (strnlen, size_t, (char const *__string, size_t __maxlen)); # else # if ! 1 _GL_FUNCDECL_SYS (strnlen, size_t, (char const *__string, size_t __maxlen) - __attribute__ ((__pure__)) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (strnlen, size_t, (char const *__string, size_t __maxlen)); @@ -708,7 +780,7 @@ _GL_WARN_ON_USE (strcspn, "strcspn cannot work correctly on character strings " #if 0 # if ! 1 _GL_FUNCDECL_SYS (strpbrk, char *, (char const *__s, char const *__accept) - __attribute__ ((__pure__)) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2))); # endif /* On some systems, this function is defined as an overloaded function: @@ -717,7 +789,7 @@ _GL_FUNCDECL_SYS (strpbrk, char *, (char const *__s, char const *__accept) _GL_CXXALIAS_SYS_CAST2 (strpbrk, char *, (char const *__s, char const *__accept), const char *, (char const *__s, char const *__accept)); -# if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 10 \ +# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (strpbrk, char *, (char *__s, char const *__accept)); _GL_CXXALIASWARN1 (strpbrk, char const *, @@ -808,7 +880,7 @@ _GL_WARN_ON_USE (strsep, "strsep is unportable - " # define strstr rpl_strstr # endif _GL_FUNCDECL_RPL (strstr, char *, (const char *haystack, const char *needle) - __attribute__ ((__pure__)) + _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (strstr, char *, (const char *haystack, const char *needle)); # else @@ -819,7 +891,7 @@ _GL_CXXALIAS_SYS_CAST2 (strstr, char *, (const char *haystack, const char *needle), const char *, (const char *haystack, const char *needle)); # endif -# if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 10 \ +# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (strstr, char *, (char *haystack, const char *needle)); _GL_CXXALIASWARN1 (strstr, const char *, @@ -850,14 +922,16 @@ _GL_WARN_ON_USE (strstr, "strstr is quadratic on many systems, and cannot " # endif _GL_FUNCDECL_RPL (strcasestr, char *, (const char *haystack, const char *needle) - __attribute__ ((__pure__)) _GL_ARG_NONNULL ((1, 2))); + _GL_ATTRIBUTE_PURE + _GL_ARG_NONNULL ((1, 2))); _GL_CXXALIAS_RPL (strcasestr, char *, (const char *haystack, const char *needle)); # else # if ! 1 _GL_FUNCDECL_SYS (strcasestr, char *, (const char *haystack, const char *needle) - __attribute__ ((__pure__)) _GL_ARG_NONNULL ((1, 2))); + _GL_ATTRIBUTE_PURE + _GL_ARG_NONNULL ((1, 2))); # endif /* On some systems, this function is defined as an overloaded function: extern "C++" { const char * strcasestr (const char *, const char *); } @@ -866,7 +940,7 @@ _GL_CXXALIAS_SYS_CAST2 (strcasestr, char *, (const char *haystack, const char *needle), const char *, (const char *haystack, const char *needle)); # endif -# if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 10 \ +# if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (strcasestr, char *, (char *haystack, const char *needle)); _GL_CXXALIASWARN1 (strcasestr, const char *, @@ -1006,9 +1080,9 @@ _GL_CXXALIASWARN (mbschr); and return a pointer to it. Return NULL if C is not found in STRING. Unlike strrchr(), this function works correctly in multibyte locales with encodings such as GB18030. */ -# if defined __hpux +# if defined __hpux || defined __INTERIX # if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# define mbsrchr rpl_mbsrchr /* avoid collision with HP-UX function */ +# define mbsrchr rpl_mbsrchr /* avoid collision with system function */ # endif _GL_FUNCDECL_RPL (mbsrchr, char *, (const char *string, int c) _GL_ARG_NONNULL ((1))); @@ -1058,11 +1132,10 @@ _GL_EXTERN_C int mbsncasecmp (const char *s1, const char *s2, size_t n) #if 0 /* Compare the initial segment of the character string STRING consisting of at most mbslen (PREFIX) characters with the character string PREFIX, - ignoring case, returning less than, equal to or greater than zero if this - initial segment is lexicographically less than, equal to or greater than - PREFIX. - Note: This function may, in multibyte locales, return 0 if STRING is of - smaller length than PREFIX! + ignoring case. If the two match, return a pointer to the first byte + after this prefix in STRING. Otherwise, return NULL. + Note: This function may, in multibyte locales, return non-NULL if STRING + is of smaller length than PREFIX! Unlike strncasecmp(), this function works correctly in multibyte locales. */ _GL_EXTERN_C char * mbspcasecmp (const char *string, const char *prefix) @@ -1161,7 +1234,7 @@ _GL_EXTERN_C char * mbstok_r (char *string, const char *delim, char **save_ptr) /* Map any int, typically from errno, into an error message. */ #if 1 -# if 0 +# if 1 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef strerror # define strerror rpl_strerror @@ -1179,6 +1252,35 @@ _GL_WARN_ON_USE (strerror, "strerror is unportable - " "use gnulib module strerror to guarantee non-NULL result"); #endif +/* Map any int, typically from errno, into an error message. Multithread-safe. + Uses the POSIX declaration, not the glibc declaration. */ +#if 0 +# if 0 +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef strerror_r +# define strerror_r rpl_strerror_r +# endif +_GL_FUNCDECL_RPL (strerror_r, int, (int errnum, char *buf, size_t buflen) + _GL_ARG_NONNULL ((2))); +_GL_CXXALIAS_RPL (strerror_r, int, (int errnum, char *buf, size_t buflen)); +# else +# if !1 +_GL_FUNCDECL_SYS (strerror_r, int, (int errnum, char *buf, size_t buflen) + _GL_ARG_NONNULL ((2))); +# endif +_GL_CXXALIAS_SYS (strerror_r, int, (int errnum, char *buf, size_t buflen)); +# endif +# if 1 +_GL_CXXALIASWARN (strerror_r); +# endif +#elif defined GNULIB_POSIXCHECK +# undef strerror_r +# if HAVE_RAW_DECL_STRERROR_R +_GL_WARN_ON_USE (strerror_r, "strerror_r is unportable - " + "use gnulib module strerror_r-posix for portability"); +# endif +#endif + #if 0 # if 0 # if !(defined __cplusplus && defined GNULIB_NAMESPACE) diff --git a/gnu/usr.bin/diff/libdiffutils/strings.h b/gnu/usr.bin/diff/libdiffutils/strings.h index 4f53c7a8a7..6c36789150 100644 --- a/gnu/usr.bin/diff/libdiffutils/strings.h +++ b/gnu/usr.bin/diff/libdiffutils/strings.h @@ -3,7 +3,7 @@ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* A substitute . - Copyright (C) 2007-2010 Free Software Foundation, Inc. + Copyright (C) 2007-2011 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,6 +25,13 @@ #pragma GCC system_header #endif + +/* Minix 3.1.8 has a bug: must be included before . + But avoid namespace pollution on glibc systems. */ +#if defined __minix && !defined __GLIBC__ +# include +#endif + /* The include_next requires a split double-inclusion guard. */ #include_next @@ -32,6 +39,263 @@ #define _GL_STRINGS_H +/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ +#ifndef _GL_CXXDEFS_H +#define _GL_CXXDEFS_H + +/* The three most frequent use cases of these macros are: + + * For providing a substitute for a function that is missing on some + platforms, but is declared and works fine on the platforms on which + it exists: + + #if @GNULIB_FOO@ + # if !@HAVE_FOO@ + _GL_FUNCDECL_SYS (foo, ...); + # endif + _GL_CXXALIAS_SYS (foo, ...); + _GL_CXXALIASWARN (foo); + #elif defined GNULIB_POSIXCHECK + ... + #endif + + * For providing a replacement for a function that exists on all platforms, + but is broken/insufficient and needs to be replaced on some platforms: + + #if @GNULIB_FOO@ + # if @REPLACE_FOO@ + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) + # undef foo + # define foo rpl_foo + # endif + _GL_FUNCDECL_RPL (foo, ...); + _GL_CXXALIAS_RPL (foo, ...); + # else + _GL_CXXALIAS_SYS (foo, ...); + # endif + _GL_CXXALIASWARN (foo); + #elif defined GNULIB_POSIXCHECK + ... + #endif + + * For providing a replacement for a function that exists on some platforms + but is broken/insufficient and needs to be replaced on some of them and + is additionally either missing or undeclared on some other platforms: + + #if @GNULIB_FOO@ + # if @REPLACE_FOO@ + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) + # undef foo + # define foo rpl_foo + # endif + _GL_FUNCDECL_RPL (foo, ...); + _GL_CXXALIAS_RPL (foo, ...); + # else + # if !@HAVE_FOO@ or if !@HAVE_DECL_FOO@ + _GL_FUNCDECL_SYS (foo, ...); + # endif + _GL_CXXALIAS_SYS (foo, ...); + # endif + _GL_CXXALIASWARN (foo); + #elif defined GNULIB_POSIXCHECK + ... + #endif +*/ + +/* _GL_EXTERN_C declaration; + performs the declaration with C linkage. */ +#if defined __cplusplus +# define _GL_EXTERN_C extern "C" +#else +# define _GL_EXTERN_C extern +#endif + +/* _GL_FUNCDECL_RPL (func, rettype, parameters_and_attributes); + declares a replacement function, named rpl_func, with the given prototype, + consisting of return type, parameters, and attributes. + Example: + _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...) + _GL_ARG_NONNULL ((1))); + */ +#define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \ + _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes) +#define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters_and_attributes) \ + _GL_EXTERN_C rettype rpl_func parameters_and_attributes + +/* _GL_FUNCDECL_SYS (func, rettype, parameters_and_attributes); + declares the system function, named func, with the given prototype, + consisting of return type, parameters, and attributes. + Example: + _GL_FUNCDECL_SYS (open, int, (const char *filename, int flags, ...) + _GL_ARG_NONNULL ((1))); + */ +#define _GL_FUNCDECL_SYS(func,rettype,parameters_and_attributes) \ + _GL_EXTERN_C rettype func parameters_and_attributes + +/* _GL_CXXALIAS_RPL (func, rettype, parameters); + declares a C++ alias called GNULIB_NAMESPACE::func + that redirects to rpl_func, if GNULIB_NAMESPACE is defined. + Example: + _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...)); + */ +#define _GL_CXXALIAS_RPL(func,rettype,parameters) \ + _GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters) +#if defined __cplusplus && defined GNULIB_NAMESPACE +# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \ + namespace GNULIB_NAMESPACE \ + { \ + rettype (*const func) parameters = ::rpl_func; \ + } \ + _GL_EXTERN_C int _gl_cxxalias_dummy +#else +# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \ + _GL_EXTERN_C int _gl_cxxalias_dummy +#endif + +/* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters); + is like _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters); + except that the C function rpl_func may have a slightly different + declaration. A cast is used to silence the "invalid conversion" error + that would otherwise occur. */ +#if defined __cplusplus && defined GNULIB_NAMESPACE +# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \ + namespace GNULIB_NAMESPACE \ + { \ + rettype (*const func) parameters = \ + reinterpret_cast(::rpl_func); \ + } \ + _GL_EXTERN_C int _gl_cxxalias_dummy +#else +# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \ + _GL_EXTERN_C int _gl_cxxalias_dummy +#endif + +/* _GL_CXXALIAS_SYS (func, rettype, parameters); + declares a C++ alias called GNULIB_NAMESPACE::func + that redirects to the system provided function func, if GNULIB_NAMESPACE + is defined. + Example: + _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...)); + */ +#if defined __cplusplus && defined GNULIB_NAMESPACE + /* If we were to write + rettype (*const func) parameters = ::func; + like above in _GL_CXXALIAS_RPL_1, the compiler could optimize calls + better (remove an indirection through a 'static' pointer variable), + but then the _GL_CXXALIASWARN macro below would cause a warning not only + for uses of ::func but also for uses of GNULIB_NAMESPACE::func. */ +# define _GL_CXXALIAS_SYS(func,rettype,parameters) \ + namespace GNULIB_NAMESPACE \ + { \ + static rettype (*func) parameters = ::func; \ + } \ + _GL_EXTERN_C int _gl_cxxalias_dummy +#else +# define _GL_CXXALIAS_SYS(func,rettype,parameters) \ + _GL_EXTERN_C int _gl_cxxalias_dummy +#endif + +/* _GL_CXXALIAS_SYS_CAST (func, rettype, parameters); + is like _GL_CXXALIAS_SYS (func, rettype, parameters); + except that the C function func may have a slightly different declaration. + A cast is used to silence the "invalid conversion" error that would + otherwise occur. */ +#if defined __cplusplus && defined GNULIB_NAMESPACE +# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \ + namespace GNULIB_NAMESPACE \ + { \ + static rettype (*func) parameters = \ + reinterpret_cast(::func); \ + } \ + _GL_EXTERN_C int _gl_cxxalias_dummy +#else +# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \ + _GL_EXTERN_C int _gl_cxxalias_dummy +#endif + +/* _GL_CXXALIAS_SYS_CAST2 (func, rettype, parameters, rettype2, parameters2); + is like _GL_CXXALIAS_SYS (func, rettype, parameters); + except that the C function is picked among a set of overloaded functions, + namely the one with rettype2 and parameters2. Two consecutive casts + are used to silence the "cannot find a match" and "invalid conversion" + errors that would otherwise occur. */ +#if defined __cplusplus && defined GNULIB_NAMESPACE + /* The outer cast must be a reinterpret_cast. + The inner cast: When the function is defined as a set of overloaded + functions, it works as a static_cast<>, choosing the designated variant. + When the function is defined as a single variant, it works as a + reinterpret_cast<>. The parenthesized cast syntax works both ways. */ +# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \ + namespace GNULIB_NAMESPACE \ + { \ + static rettype (*func) parameters = \ + reinterpret_cast( \ + (rettype2(*)parameters2)(::func)); \ + } \ + _GL_EXTERN_C int _gl_cxxalias_dummy +#else +# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \ + _GL_EXTERN_C int _gl_cxxalias_dummy +#endif + +/* _GL_CXXALIASWARN (func); + causes a warning to be emitted when ::func is used but not when + GNULIB_NAMESPACE::func is used. func must be defined without overloaded + variants. */ +#if defined __cplusplus && defined GNULIB_NAMESPACE +# define _GL_CXXALIASWARN(func) \ + _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE) +# define _GL_CXXALIASWARN_1(func,namespace) \ + _GL_CXXALIASWARN_2 (func, namespace) +/* To work around GCC bug , + we enable the warning only when not optimizing. */ +# if !__OPTIMIZE__ +# define _GL_CXXALIASWARN_2(func,namespace) \ + _GL_WARN_ON_USE (func, \ + "The symbol ::" #func " refers to the system function. " \ + "Use " #namespace "::" #func " instead.") +# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING +# define _GL_CXXALIASWARN_2(func,namespace) \ + extern __typeof__ (func) func +# else +# define _GL_CXXALIASWARN_2(func,namespace) \ + _GL_EXTERN_C int _gl_cxxalias_dummy +# endif +#else +# define _GL_CXXALIASWARN(func) \ + _GL_EXTERN_C int _gl_cxxalias_dummy +#endif + +/* _GL_CXXALIASWARN1 (func, rettype, parameters_and_attributes); + causes a warning to be emitted when the given overloaded variant of ::func + is used but not when GNULIB_NAMESPACE::func is used. */ +#if defined __cplusplus && defined GNULIB_NAMESPACE +# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \ + _GL_CXXALIASWARN1_1 (func, rettype, parameters_and_attributes, \ + GNULIB_NAMESPACE) +# define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \ + _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace) +/* To work around GCC bug , + we enable the warning only when not optimizing. */ +# if !__OPTIMIZE__ +# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ + _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \ + "The symbol ::" #func " refers to the system function. " \ + "Use " #namespace "::" #func " instead.") +# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING +# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ + extern __typeof__ (func) func +# else +# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ + _GL_EXTERN_C int _gl_cxxalias_dummy +# endif +#else +# define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \ + _GL_EXTERN_C int _gl_cxxalias_dummy +#endif + +#endif /* _GL_CXXDEFS_H */ + /* The definition of _GL_ARG_NONNULL is copied here. */ /* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools that the values passed as arguments n, ..., m must be non-NULL pointers. @@ -97,6 +361,20 @@ extern "C" { #endif + /* Find the index of the least-significant set bit. */ +#if 0 +# if !1 +_GL_FUNCDECL_SYS (ffs, int, (int i)); +# endif +_GL_CXXALIAS_SYS (ffs, int, (int i)); +_GL_CXXALIASWARN (ffs); +#elif defined GNULIB_POSIXCHECK +# undef ffs +# if HAVE_RAW_DECL_FFS +_GL_WARN_ON_USE (ffs, "ffs is not portable - use the ffs module"); +# endif +#endif + /* Compare strings S1 and S2, ignoring case, returning less than, equal to or greater than zero if S1 is lexicographically less than, equal to or greater than S2. diff --git a/gnu/usr.bin/diff/libdiffutils/sys/stat.h b/gnu/usr.bin/diff/libdiffutils/sys/stat.h index a9db2d8259..7a92d32330 100644 --- a/gnu/usr.bin/diff/libdiffutils/sys/stat.h +++ b/gnu/usr.bin/diff/libdiffutils/sys/stat.h @@ -2,7 +2,7 @@ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Provide a more complete sys/stat header file. - Copyright (C) 2005-2010 Free Software Foundation, Inc. + Copyright (C) 2005-2011 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -28,6 +28,7 @@ #pragma GCC system_header #endif + #if defined __need_system_sys_stat_h /* Special invocation convention. */ @@ -258,10 +259,20 @@ _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE) # define _GL_CXXALIASWARN_1(func,namespace) \ _GL_CXXALIASWARN_2 (func, namespace) -# define _GL_CXXALIASWARN_2(func,namespace) \ - _GL_WARN_ON_USE (func, \ - "The symbol ::" #func " refers to the system function. " \ - "Use " #namespace "::" #func " instead.") +/* To work around GCC bug , + we enable the warning only when not optimizing. */ +# if !__OPTIMIZE__ +# define _GL_CXXALIASWARN_2(func,namespace) \ + _GL_WARN_ON_USE (func, \ + "The symbol ::" #func " refers to the system function. " \ + "Use " #namespace "::" #func " instead.") +# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING +# define _GL_CXXALIASWARN_2(func,namespace) \ + extern __typeof__ (func) func +# else +# define _GL_CXXALIASWARN_2(func,namespace) \ + _GL_EXTERN_C int _gl_cxxalias_dummy +# endif #else # define _GL_CXXALIASWARN(func) \ _GL_EXTERN_C int _gl_cxxalias_dummy @@ -276,10 +287,20 @@ GNULIB_NAMESPACE) # define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \ _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace) -# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ - _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \ - "The symbol ::" #func " refers to the system function. " \ - "Use " #namespace "::" #func " instead.") +/* To work around GCC bug , + we enable the warning only when not optimizing. */ +# if !__OPTIMIZE__ +# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ + _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \ + "The symbol ::" #func " refers to the system function. " \ + "Use " #namespace "::" #func " instead.") +# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING +# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ + extern __typeof__ (func) func +# else +# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \ + _GL_EXTERN_C int _gl_cxxalias_dummy +# endif #else # define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \ _GL_EXTERN_C int _gl_cxxalias_dummy @@ -648,7 +669,11 @@ _GL_WARN_ON_USE (fstatat, "fstatat is not portable - " #if 0 -# if 0 +/* Use the rpl_ prefix also on Solaris <= 9, because on Solaris 9 our futimens + implementation relies on futimesat, which on Solaris 10 makes an invocation + to futimens that is meant to invoke the libc's futimens(), not gnulib's + futimens(). */ +# if 0 || (!1 && defined __sun) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef futimens # define futimens rpl_futimens @@ -661,7 +686,9 @@ _GL_FUNCDECL_SYS (futimens, int, (int fd, struct timespec const times[2])); # endif _GL_CXXALIAS_SYS (futimens, int, (int fd, struct timespec const times[2])); # endif +# if 1 _GL_CXXALIASWARN (futimens); +# endif #elif defined GNULIB_POSIXCHECK # undef futimens # if HAVE_RAW_DECL_FUTIMENS @@ -754,11 +781,14 @@ _GL_CXXALIAS_RPL (mkdir, int, (char const *name, mode_t mode)); which are included above. */ # if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ +# if !GNULIB_defined_rpl_mkdir static inline int rpl_mkdir (char const *name, mode_t mode) { return _mkdir (name); } +# define GNULIB_defined_rpl_mkdir 1 +# endif # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define mkdir rpl_mkdir @@ -843,7 +873,8 @@ _GL_CXXALIAS_RPL (mknod, int, (char const *file, mode_t mode, dev_t dev)); _GL_FUNCDECL_SYS (mknod, int, (char const *file, mode_t mode, dev_t dev) _GL_ARG_NONNULL ((1))); # endif -_GL_CXXALIAS_SYS (mknod, int, (char const *file, mode_t mode, dev_t dev)); +/* Need to cast, because on OSF/1 5.1, the third parameter is '...'. */ +_GL_CXXALIAS_SYS_CAST (mknod, int, (char const *file, mode_t mode, dev_t dev)); # endif _GL_CXXALIASWARN (mknod); #elif defined GNULIB_POSIXCHECK @@ -888,7 +919,8 @@ _GL_WARN_ON_USE (mknodat, "mknodat is not portable - " # else /* !_LARGE_FILES */ # define stat(name, st) rpl_stat (name, st) # endif /* !_LARGE_FILES */ -_GL_EXTERN_C int stat (const char *name, struct stat *buf) _GL_ARG_NONNULL ((1, 2)); +_GL_EXTERN_C int stat (const char *name, struct stat *buf) + _GL_ARG_NONNULL ((1, 2)); # endif #elif defined GNULIB_POSIXCHECK # undef stat @@ -900,7 +932,11 @@ _GL_WARN_ON_USE (stat, "stat is unportable - " #if 0 -# if 0 +/* Use the rpl_ prefix also on Solaris <= 9, because on Solaris 9 our utimensat + implementation relies on futimesat, which on Solaris 10 makes an invocation + to utimensat that is meant to invoke the libc's utimensat(), not gnulib's + utimensat(). */ +# if 0 || (!1 && defined __sun) # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef utimensat # define utimensat rpl_utimensat @@ -919,7 +955,9 @@ _GL_FUNCDECL_SYS (utimensat, int, (int fd, char const *name, _GL_CXXALIAS_SYS (utimensat, int, (int fd, char const *name, struct timespec const times[2], int flag)); # endif +# if 1 _GL_CXXALIASWARN (utimensat); +# endif #elif defined GNULIB_POSIXCHECK # undef utimensat # if HAVE_RAW_DECL_UTIMENSAT diff --git a/gnu/usr.bin/diff/libdiffutils/unistr.h b/gnu/usr.bin/diff/libdiffutils/unistr.h new file mode 100644 index 0000000000..4b6dcf90ab --- /dev/null +++ b/gnu/usr.bin/diff/libdiffutils/unistr.h @@ -0,0 +1,695 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* -*- buffer-read-only: t -*- vi: set ro: */ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ +/* Elementary Unicode string functions. + Copyright (C) 2001-2002, 2005-2011 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 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 . */ + +#ifndef _UNISTR_H +#define _UNISTR_H + +#include "unitypes.h" + +/* Get common macros for C. */ +#include "unused-parameter.h" + +/* Get bool. */ +#include + +/* Get size_t. */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + + +/* Conventions: + + All functions prefixed with u8_ operate on UTF-8 encoded strings. + Their unit is an uint8_t (1 byte). + + All functions prefixed with u16_ operate on UTF-16 encoded strings. + Their unit is an uint16_t (a 2-byte word). + + All functions prefixed with u32_ operate on UCS-4 encoded strings. + Their unit is an uint32_t (a 4-byte word). + + All argument pairs (s, n) denote a Unicode string s[0..n-1] with exactly + n units. + + All arguments starting with "str" and the arguments of functions starting + with u8_str/u16_str/u32_str denote a NUL terminated string, i.e. a string + which terminates at the first NUL unit. This termination unit is + considered part of the string for all memory allocation purposes, but + is not considered part of the string for all other logical purposes. + + Functions returning a string result take a (resultbuf, lengthp) argument + pair. If resultbuf is not NULL and the result fits into *lengthp units, + it is put in resultbuf, and resultbuf is returned. Otherwise, a freshly + allocated string is returned. In both cases, *lengthp is set to the + length (number of units) of the returned string. In case of error, + NULL is returned and errno is set. */ + + +/* Elementary string checks. */ + +/* Check whether an UTF-8 string is well-formed. + Return NULL if valid, or a pointer to the first invalid unit otherwise. */ +extern const uint8_t * + u8_check (const uint8_t *s, size_t n); + +/* Check whether an UTF-16 string is well-formed. + Return NULL if valid, or a pointer to the first invalid unit otherwise. */ +extern const uint16_t * + u16_check (const uint16_t *s, size_t n); + +/* Check whether an UCS-4 string is well-formed. + Return NULL if valid, or a pointer to the first invalid unit otherwise. */ +extern const uint32_t * + u32_check (const uint32_t *s, size_t n); + + +/* Elementary string conversions. */ + +/* Convert an UTF-8 string to an UTF-16 string. */ +extern uint16_t * + u8_to_u16 (const uint8_t *s, size_t n, uint16_t *resultbuf, + size_t *lengthp); + +/* Convert an UTF-8 string to an UCS-4 string. */ +extern uint32_t * + u8_to_u32 (const uint8_t *s, size_t n, uint32_t *resultbuf, + size_t *lengthp); + +/* Convert an UTF-16 string to an UTF-8 string. */ +extern uint8_t * + u16_to_u8 (const uint16_t *s, size_t n, uint8_t *resultbuf, + size_t *lengthp); + +/* Convert an UTF-16 string to an UCS-4 string. */ +extern uint32_t * + u16_to_u32 (const uint16_t *s, size_t n, uint32_t *resultbuf, + size_t *lengthp); + +/* Convert an UCS-4 string to an UTF-8 string. */ +extern uint8_t * + u32_to_u8 (const uint32_t *s, size_t n, uint8_t *resultbuf, + size_t *lengthp); + +/* Convert an UCS-4 string to an UTF-16 string. */ +extern uint16_t * + u32_to_u16 (const uint32_t *s, size_t n, uint16_t *resultbuf, + size_t *lengthp); + + +/* Elementary string functions. */ + +/* Return the length (number of units) of the first character in S, which is + no longer than N. Return 0 if it is the NUL character. Return -1 upon + failure. */ +/* Similar to mblen(), except that s must not be NULL. */ +extern int + u8_mblen (const uint8_t *s, size_t n); +extern int + u16_mblen (const uint16_t *s, size_t n); +extern int + u32_mblen (const uint32_t *s, size_t n); + +/* Return the length (number of units) of the first character in S, putting + its 'ucs4_t' representation in *PUC. Upon failure, *PUC is set to 0xfffd, + and an appropriate number of units is returned. + The number of available units, N, must be > 0. */ +/* Similar to mbtowc(), except that puc and s must not be NULL, n must be > 0, + and the NUL character is not treated specially. */ +/* The variants with _safe suffix are safe, even if the library is compiled + without --enable-safety. */ + +#if GNULIB_UNISTR_U8_MBTOUC_UNSAFE || HAVE_LIBUNISTRING +# if !HAVE_INLINE +extern int + u8_mbtouc_unsafe (ucs4_t *puc, const uint8_t *s, size_t n); +# else +extern int + u8_mbtouc_unsafe_aux (ucs4_t *puc, const uint8_t *s, size_t n); +static inline int +u8_mbtouc_unsafe (ucs4_t *puc, const uint8_t *s, size_t n) +{ + uint8_t c = *s; + + if (c < 0x80) + { + *puc = c; + return 1; + } + else + return u8_mbtouc_unsafe_aux (puc, s, n); +} +# endif +#endif + +#if GNULIB_UNISTR_U16_MBTOUC_UNSAFE || HAVE_LIBUNISTRING +# if !HAVE_INLINE +extern int + u16_mbtouc_unsafe (ucs4_t *puc, const uint16_t *s, size_t n); +# else +extern int + u16_mbtouc_unsafe_aux (ucs4_t *puc, const uint16_t *s, size_t n); +static inline int +u16_mbtouc_unsafe (ucs4_t *puc, const uint16_t *s, size_t n) +{ + uint16_t c = *s; + + if (c < 0xd800 || c >= 0xe000) + { + *puc = c; + return 1; + } + else + return u16_mbtouc_unsafe_aux (puc, s, n); +} +# endif +#endif + +#if GNULIB_UNISTR_U32_MBTOUC_UNSAFE || HAVE_LIBUNISTRING +# if !HAVE_INLINE +extern int + u32_mbtouc_unsafe (ucs4_t *puc, const uint32_t *s, size_t n); +# else +static inline int +u32_mbtouc_unsafe (ucs4_t *puc, + const uint32_t *s, size_t n _GL_UNUSED_PARAMETER) +{ + uint32_t c = *s; + +# if CONFIG_UNICODE_SAFETY + if (c < 0xd800 || (c >= 0xe000 && c < 0x110000)) +# endif + *puc = c; +# if CONFIG_UNICODE_SAFETY + else + /* invalid multibyte character */ + *puc = 0xfffd; +# endif + return 1; +} +# endif +#endif + +#if GNULIB_UNISTR_U8_MBTOUC || HAVE_LIBUNISTRING +# if !HAVE_INLINE +extern int + u8_mbtouc (ucs4_t *puc, const uint8_t *s, size_t n); +# else +extern int + u8_mbtouc_aux (ucs4_t *puc, const uint8_t *s, size_t n); +static inline int +u8_mbtouc (ucs4_t *puc, const uint8_t *s, size_t n) +{ + uint8_t c = *s; + + if (c < 0x80) + { + *puc = c; + return 1; + } + else + return u8_mbtouc_aux (puc, s, n); +} +# endif +#endif + +#if GNULIB_UNISTR_U16_MBTOUC || HAVE_LIBUNISTRING +# if !HAVE_INLINE +extern int + u16_mbtouc (ucs4_t *puc, const uint16_t *s, size_t n); +# else +extern int + u16_mbtouc_aux (ucs4_t *puc, const uint16_t *s, size_t n); +static inline int +u16_mbtouc (ucs4_t *puc, const uint16_t *s, size_t n) +{ + uint16_t c = *s; + + if (c < 0xd800 || c >= 0xe000) + { + *puc = c; + return 1; + } + else + return u16_mbtouc_aux (puc, s, n); +} +# endif +#endif + +#if GNULIB_UNISTR_U32_MBTOUC || HAVE_LIBUNISTRING +# if !HAVE_INLINE +extern int + u32_mbtouc (ucs4_t *puc, const uint32_t *s, size_t n); +# else +static inline int +u32_mbtouc (ucs4_t *puc, const uint32_t *s, size_t n _GL_UNUSED_PARAMETER) +{ + uint32_t c = *s; + + if (c < 0xd800 || (c >= 0xe000 && c < 0x110000)) + *puc = c; + else + /* invalid multibyte character */ + *puc = 0xfffd; + return 1; +} +# endif +#endif + +/* Return the length (number of units) of the first character in S, putting + its 'ucs4_t' representation in *PUC. Upon failure, *PUC is set to 0xfffd, + and -1 is returned for an invalid sequence of units, -2 is returned for an + incomplete sequence of units. + The number of available units, N, must be > 0. */ +/* Similar to u*_mbtouc(), except that the return value gives more details + about the failure, similar to mbrtowc(). */ + +#if GNULIB_UNISTR_U8_MBTOUCR || HAVE_LIBUNISTRING +extern int + u8_mbtoucr (ucs4_t *puc, const uint8_t *s, size_t n); +#endif + +#if GNULIB_UNISTR_U16_MBTOUCR || HAVE_LIBUNISTRING +extern int + u16_mbtoucr (ucs4_t *puc, const uint16_t *s, size_t n); +#endif + +#if GNULIB_UNISTR_U32_MBTOUCR || HAVE_LIBUNISTRING +extern int + u32_mbtoucr (ucs4_t *puc, const uint32_t *s, size_t n); +#endif + +/* Put the multibyte character represented by UC in S, returning its + length. Return -1 upon failure, -2 if the number of available units, N, + is too small. The latter case cannot occur if N >= 6/2/1, respectively. */ +/* Similar to wctomb(), except that s must not be NULL, and the argument n + must be specified. */ + +#if GNULIB_UNISTR_U8_UCTOMB || HAVE_LIBUNISTRING +/* Auxiliary function, also used by u8_chr, u8_strchr, u8_strrchr. */ +extern int + u8_uctomb_aux (uint8_t *s, ucs4_t uc, int n); +# if !HAVE_INLINE +extern int + u8_uctomb (uint8_t *s, ucs4_t uc, int n); +# else +static inline int +u8_uctomb (uint8_t *s, ucs4_t uc, int n) +{ + if (uc < 0x80 && n > 0) + { + s[0] = uc; + return 1; + } + else + return u8_uctomb_aux (s, uc, n); +} +# endif +#endif + +#if GNULIB_UNISTR_U16_UCTOMB || HAVE_LIBUNISTRING +/* Auxiliary function, also used by u16_chr, u16_strchr, u16_strrchr. */ +extern int + u16_uctomb_aux (uint16_t *s, ucs4_t uc, int n); +# if !HAVE_INLINE +extern int + u16_uctomb (uint16_t *s, ucs4_t uc, int n); +# else +static inline int +u16_uctomb (uint16_t *s, ucs4_t uc, int n) +{ + if (uc < 0xd800 && n > 0) + { + s[0] = uc; + return 1; + } + else + return u16_uctomb_aux (s, uc, n); +} +# endif +#endif + +#if GNULIB_UNISTR_U32_UCTOMB || HAVE_LIBUNISTRING +# if !HAVE_INLINE +extern int + u32_uctomb (uint32_t *s, ucs4_t uc, int n); +# else +static inline int +u32_uctomb (uint32_t *s, ucs4_t uc, int n) +{ + if (uc < 0xd800 || (uc >= 0xe000 && uc < 0x110000)) + { + if (n > 0) + { + *s = uc; + return 1; + } + else + return -2; + } + else + return -1; +} +# endif +#endif + +/* Copy N units from SRC to DEST. */ +/* Similar to memcpy(). */ +extern uint8_t * + u8_cpy (uint8_t *dest, const uint8_t *src, size_t n); +extern uint16_t * + u16_cpy (uint16_t *dest, const uint16_t *src, size_t n); +extern uint32_t * + u32_cpy (uint32_t *dest, const uint32_t *src, size_t n); + +/* Copy N units from SRC to DEST, guaranteeing correct behavior for + overlapping memory areas. */ +/* Similar to memmove(). */ +extern uint8_t * + u8_move (uint8_t *dest, const uint8_t *src, size_t n); +extern uint16_t * + u16_move (uint16_t *dest, const uint16_t *src, size_t n); +extern uint32_t * + u32_move (uint32_t *dest, const uint32_t *src, size_t n); + +/* Set the first N characters of S to UC. UC should be a character that + occupies only 1 unit. */ +/* Similar to memset(). */ +extern uint8_t * + u8_set (uint8_t *s, ucs4_t uc, size_t n); +extern uint16_t * + u16_set (uint16_t *s, ucs4_t uc, size_t n); +extern uint32_t * + u32_set (uint32_t *s, ucs4_t uc, size_t n); + +/* Compare S1 and S2, each of length N. */ +/* Similar to memcmp(). */ +extern int + u8_cmp (const uint8_t *s1, const uint8_t *s2, size_t n); +extern int + u16_cmp (const uint16_t *s1, const uint16_t *s2, size_t n); +extern int + u32_cmp (const uint32_t *s1, const uint32_t *s2, size_t n); + +/* Compare S1 and S2. */ +/* Similar to the gnulib function memcmp2(). */ +extern int + u8_cmp2 (const uint8_t *s1, size_t n1, const uint8_t *s2, size_t n2); +extern int + u16_cmp2 (const uint16_t *s1, size_t n1, const uint16_t *s2, size_t n2); +extern int + u32_cmp2 (const uint32_t *s1, size_t n1, const uint32_t *s2, size_t n2); + +/* Search the string at S for UC. */ +/* Similar to memchr(). */ +extern uint8_t * + u8_chr (const uint8_t *s, size_t n, ucs4_t uc); +extern uint16_t * + u16_chr (const uint16_t *s, size_t n, ucs4_t uc); +extern uint32_t * + u32_chr (const uint32_t *s, size_t n, ucs4_t uc); + +/* Count the number of Unicode characters in the N units from S. */ +/* Similar to mbsnlen(). */ +extern size_t + u8_mbsnlen (const uint8_t *s, size_t n); +extern size_t + u16_mbsnlen (const uint16_t *s, size_t n); +extern size_t + u32_mbsnlen (const uint32_t *s, size_t n); + +/* Elementary string functions with memory allocation. */ + +/* Make a freshly allocated copy of S, of length N. */ +extern uint8_t * + u8_cpy_alloc (const uint8_t *s, size_t n); +extern uint16_t * + u16_cpy_alloc (const uint16_t *s, size_t n); +extern uint32_t * + u32_cpy_alloc (const uint32_t *s, size_t n); + +/* Elementary string functions on NUL terminated strings. */ + +/* Return the length (number of units) of the first character in S. + Return 0 if it is the NUL character. Return -1 upon failure. */ +extern int + u8_strmblen (const uint8_t *s); +extern int + u16_strmblen (const uint16_t *s); +extern int + u32_strmblen (const uint32_t *s); + +/* Return the length (number of units) of the first character in S, putting + its 'ucs4_t' representation in *PUC. Return 0 if it is the NUL + character. Return -1 upon failure. */ +extern int + u8_strmbtouc (ucs4_t *puc, const uint8_t *s); +extern int + u16_strmbtouc (ucs4_t *puc, const uint16_t *s); +extern int + u32_strmbtouc (ucs4_t *puc, const uint32_t *s); + +/* Forward iteration step. Advances the pointer past the next character, + or returns NULL if the end of the string has been reached. Puts the + character's 'ucs4_t' representation in *PUC. */ +extern const uint8_t * + u8_next (ucs4_t *puc, const uint8_t *s); +extern const uint16_t * + u16_next (ucs4_t *puc, const uint16_t *s); +extern const uint32_t * + u32_next (ucs4_t *puc, const uint32_t *s); + +/* Backward iteration step. Advances the pointer to point to the previous + character, or returns NULL if the beginning of the string had been reached. + Puts the character's 'ucs4_t' representation in *PUC. */ +extern const uint8_t * + u8_prev (ucs4_t *puc, const uint8_t *s, const uint8_t *start); +extern const uint16_t * + u16_prev (ucs4_t *puc, const uint16_t *s, const uint16_t *start); +extern const uint32_t * + u32_prev (ucs4_t *puc, const uint32_t *s, const uint32_t *start); + +/* Return the number of units in S. */ +/* Similar to strlen(), wcslen(). */ +extern size_t + u8_strlen (const uint8_t *s); +extern size_t + u16_strlen (const uint16_t *s); +extern size_t + u32_strlen (const uint32_t *s); + +/* Return the number of units in S, but at most MAXLEN. */ +/* Similar to strnlen(), wcsnlen(). */ +extern size_t + u8_strnlen (const uint8_t *s, size_t maxlen); +extern size_t + u16_strnlen (const uint16_t *s, size_t maxlen); +extern size_t + u32_strnlen (const uint32_t *s, size_t maxlen); + +/* Copy SRC to DEST. */ +/* Similar to strcpy(), wcscpy(). */ +extern uint8_t * + u8_strcpy (uint8_t *dest, const uint8_t *src); +extern uint16_t * + u16_strcpy (uint16_t *dest, const uint16_t *src); +extern uint32_t * + u32_strcpy (uint32_t *dest, const uint32_t *src); + +/* Copy SRC to DEST, returning the address of the terminating NUL in DEST. */ +/* Similar to stpcpy(). */ +extern uint8_t * + u8_stpcpy (uint8_t *dest, const uint8_t *src); +extern uint16_t * + u16_stpcpy (uint16_t *dest, const uint16_t *src); +extern uint32_t * + u32_stpcpy (uint32_t *dest, const uint32_t *src); + +/* Copy no more than N units of SRC to DEST. */ +/* Similar to strncpy(), wcsncpy(). */ +extern uint8_t * + u8_strncpy (uint8_t *dest, const uint8_t *src, size_t n); +extern uint16_t * + u16_strncpy (uint16_t *dest, const uint16_t *src, size_t n); +extern uint32_t * + u32_strncpy (uint32_t *dest, const uint32_t *src, size_t n); + +/* Copy no more than N units of SRC to DEST. Return a pointer past the last + non-NUL unit written into DEST. */ +/* Similar to stpncpy(). */ +extern uint8_t * + u8_stpncpy (uint8_t *dest, const uint8_t *src, size_t n); +extern uint16_t * + u16_stpncpy (uint16_t *dest, const uint16_t *src, size_t n); +extern uint32_t * + u32_stpncpy (uint32_t *dest, const uint32_t *src, size_t n); + +/* Append SRC onto DEST. */ +/* Similar to strcat(), wcscat(). */ +extern uint8_t * + u8_strcat (uint8_t *dest, const uint8_t *src); +extern uint16_t * + u16_strcat (uint16_t *dest, const uint16_t *src); +extern uint32_t * + u32_strcat (uint32_t *dest, const uint32_t *src); + +/* Append no more than N units of SRC onto DEST. */ +/* Similar to strncat(), wcsncat(). */ +extern uint8_t * + u8_strncat (uint8_t *dest, const uint8_t *src, size_t n); +extern uint16_t * + u16_strncat (uint16_t *dest, const uint16_t *src, size_t n); +extern uint32_t * + u32_strncat (uint32_t *dest, const uint32_t *src, size_t n); + +/* Compare S1 and S2. */ +/* Similar to strcmp(), wcscmp(). */ +#ifdef __sun +/* Avoid a collision with the u8_strcmp() function in Solaris 11 libc. */ +extern int + u8_strcmp_gnu (const uint8_t *s1, const uint8_t *s2); +# define u8_strcmp u8_strcmp_gnu +#else +extern int + u8_strcmp (const uint8_t *s1, const uint8_t *s2); +#endif +extern int + u16_strcmp (const uint16_t *s1, const uint16_t *s2); +extern int + u32_strcmp (const uint32_t *s1, const uint32_t *s2); + +/* Compare S1 and S2 using the collation rules of the current locale. + Return -1 if S1 < S2, 0 if S1 = S2, 1 if S1 > S2. + Upon failure, set errno and return any value. */ +/* Similar to strcoll(), wcscoll(). */ +extern int + u8_strcoll (const uint8_t *s1, const uint8_t *s2); +extern int + u16_strcoll (const uint16_t *s1, const uint16_t *s2); +extern int + u32_strcoll (const uint32_t *s1, const uint32_t *s2); + +/* Compare no more than N units of S1 and S2. */ +/* Similar to strncmp(), wcsncmp(). */ +extern int + u8_strncmp (const uint8_t *s1, const uint8_t *s2, size_t n); +extern int + u16_strncmp (const uint16_t *s1, const uint16_t *s2, size_t n); +extern int + u32_strncmp (const uint32_t *s1, const uint32_t *s2, size_t n); + +/* Duplicate S, returning an identical malloc'd string. */ +/* Similar to strdup(), wcsdup(). */ +extern uint8_t * + u8_strdup (const uint8_t *s); +extern uint16_t * + u16_strdup (const uint16_t *s); +extern uint32_t * + u32_strdup (const uint32_t *s); + +/* Find the first occurrence of UC in STR. */ +/* Similar to strchr(), wcschr(). */ +extern uint8_t * + u8_strchr (const uint8_t *str, ucs4_t uc); +extern uint16_t * + u16_strchr (const uint16_t *str, ucs4_t uc); +extern uint32_t * + u32_strchr (const uint32_t *str, ucs4_t uc); + +/* Find the last occurrence of UC in STR. */ +/* Similar to strrchr(), wcsrchr(). */ +extern uint8_t * + u8_strrchr (const uint8_t *str, ucs4_t uc); +extern uint16_t * + u16_strrchr (const uint16_t *str, ucs4_t uc); +extern uint32_t * + u32_strrchr (const uint32_t *str, ucs4_t uc); + +/* Return the length of the initial segment of STR which consists entirely + of Unicode characters not in REJECT. */ +/* Similar to strcspn(), wcscspn(). */ +extern size_t + u8_strcspn (const uint8_t *str, const uint8_t *reject); +extern size_t + u16_strcspn (const uint16_t *str, const uint16_t *reject); +extern size_t + u32_strcspn (const uint32_t *str, const uint32_t *reject); + +/* Return the length of the initial segment of STR which consists entirely + of Unicode characters in ACCEPT. */ +/* Similar to strspn(), wcsspn(). */ +extern size_t + u8_strspn (const uint8_t *str, const uint8_t *accept); +extern size_t + u16_strspn (const uint16_t *str, const uint16_t *accept); +extern size_t + u32_strspn (const uint32_t *str, const uint32_t *accept); + +/* Find the first occurrence in STR of any character in ACCEPT. */ +/* Similar to strpbrk(), wcspbrk(). */ +extern uint8_t * + u8_strpbrk (const uint8_t *str, const uint8_t *accept); +extern uint16_t * + u16_strpbrk (const uint16_t *str, const uint16_t *accept); +extern uint32_t * + u32_strpbrk (const uint32_t *str, const uint32_t *accept); + +/* Find the first occurrence of NEEDLE in HAYSTACK. */ +/* Similar to strstr(), wcsstr(). */ +extern uint8_t * + u8_strstr (const uint8_t *haystack, const uint8_t *needle); +extern uint16_t * + u16_strstr (const uint16_t *haystack, const uint16_t *needle); +extern uint32_t * + u32_strstr (const uint32_t *haystack, const uint32_t *needle); + +/* Test whether STR starts with PREFIX. */ +extern bool + u8_startswith (const uint8_t *str, const uint8_t *prefix); +extern bool + u16_startswith (const uint16_t *str, const uint16_t *prefix); +extern bool + u32_startswith (const uint32_t *str, const uint32_t *prefix); + +/* Test whether STR ends with SUFFIX. */ +extern bool + u8_endswith (const uint8_t *str, const uint8_t *suffix); +extern bool + u16_endswith (const uint16_t *str, const uint16_t *suffix); +extern bool + u32_endswith (const uint32_t *str, const uint32_t *suffix); + +/* Divide STR into tokens separated by characters in DELIM. + This interface is actually more similar to wcstok than to strtok. */ +/* Similar to strtok_r(), wcstok(). */ +extern uint8_t * + u8_strtok (uint8_t *str, const uint8_t *delim, uint8_t **ptr); +extern uint16_t * + u16_strtok (uint16_t *str, const uint16_t *delim, uint16_t **ptr); +extern uint32_t * + u32_strtok (uint32_t *str, const uint32_t *delim, uint32_t **ptr); + + +#ifdef __cplusplus +} +#endif + +#endif /* _UNISTR_H */ diff --git a/gnu/usr.bin/diff/libdiffutils/unitypes.h b/gnu/usr.bin/diff/libdiffutils/unitypes.h index 61571c3c47..37d3b75f3c 100644 --- a/gnu/usr.bin/diff/libdiffutils/unitypes.h +++ b/gnu/usr.bin/diff/libdiffutils/unitypes.h @@ -1,7 +1,8 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Elementary types for the GNU UniString library. - Copyright (C) 2002, 2005-2006, 2009-2010 Free Software Foundation, Inc. + Copyright (C) 2002, 2005-2006, 2009-2011 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -11,7 +12,7 @@ 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 - Lesser General Public License for more details. + 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 . */ diff --git a/gnu/usr.bin/diff/libdiffutils/uniwidth.h b/gnu/usr.bin/diff/libdiffutils/uniwidth.h index 30e1923567..71c652e91e 100644 --- a/gnu/usr.bin/diff/libdiffutils/uniwidth.h +++ b/gnu/usr.bin/diff/libdiffutils/uniwidth.h @@ -1,7 +1,8 @@ +/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* -*- buffer-read-only: t -*- vi: set ro: */ /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ /* Display width functions. - Copyright (C) 2001-2002, 2005, 2007, 2009-2010 Free Software Foundation, + Copyright (C) 2001-2002, 2005, 2007, 2009-2011 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it @@ -12,7 +13,7 @@ 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 - Lesser General Public License for more details. + 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 . */ diff --git a/gnu/usr.bin/diff/libdiffutils/unused-parameter.h b/gnu/usr.bin/diff/libdiffutils/unused-parameter.h new file mode 100644 index 0000000000..53474b5754 --- /dev/null +++ b/gnu/usr.bin/diff/libdiffutils/unused-parameter.h @@ -0,0 +1,20 @@ +/* _GL_UNUSED_PARAMETER is a marker that can be appended to function parameter + declarations for parameters that are not used. This helps to reduce + warnings, such as from GCC -Wunused-parameter. The syntax is as follows: + type param _GL_UNUSED_PARAMETER + or more generally + param_decl _GL_UNUSED_PARAMETER + For example: + int param _GL_UNUSED_PARAMETER + int *(*param)(void) _GL_UNUSED_PARAMETER + Other possible, but obscure and discouraged syntaxes: + int _GL_UNUSED_PARAMETER *(*param)(void) + _GL_UNUSED_PARAMETER int *(*param)(void) + */ +#ifndef _GL_UNUSED_PARAMETER +# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) +# define _GL_UNUSED_PARAMETER __attribute__ ((__unused__)) +# else +# define _GL_UNUSED_PARAMETER +# endif +#endif diff --git a/gnu/usr.bin/diff/libver/Makefile b/gnu/usr.bin/diff/libver/Makefile new file mode 100644 index 0000000000..492b95d1b6 --- /dev/null +++ b/gnu/usr.bin/diff/libver/Makefile @@ -0,0 +1,11 @@ +.include "../Makefile.inc" + +LIB= ver +INTERNALLIB= true + +CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../libdiffutils +CFLAGS+= -DHAVE_CONFIG_H + +SRCS= version.c + +.include diff --git a/gnu/usr.bin/diff/libver/version.c b/gnu/usr.bin/diff/libver/version.c new file mode 100644 index 0000000000..310e954a63 --- /dev/null +++ b/gnu/usr.bin/diff/libver/version.c @@ -0,0 +1,2 @@ +#include +char const *Version = "3.2"; diff --git a/gnu/usr.bin/diff/libver/version.h b/gnu/usr.bin/diff/libver/version.h new file mode 100644 index 0000000000..f6a1ed330e --- /dev/null +++ b/gnu/usr.bin/diff/libver/version.h @@ -0,0 +1 @@ +extern char const *Version; diff --git a/gnu/usr.bin/diff/sdiff/Makefile b/gnu/usr.bin/diff/sdiff/Makefile index 458ff25581..6be0a0a7d8 100644 --- a/gnu/usr.bin/diff/sdiff/Makefile +++ b/gnu/usr.bin/diff/sdiff/Makefile @@ -3,6 +3,6 @@ PROG= sdiff CFLAGS+= -I${SRCDIR}/lib -I${.CURDIR}/../libdiffutils -CFLAGS+= -I${.CURDIR}/../diff +CFLAGS+= -I${.CURDIR}/../diff -I${.CURDIR}/../libver .include -- 2.41.0