merging coreutils-6.9 into trunk

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23131 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Jérôme Duval
2007-12-16 18:32:10 +00:00
parent 1d1b561b4b
commit 28fab8364b
302 changed files with 23538 additions and 15620 deletions
File diff suppressed because it is too large Load Diff
+1 -2
View File
@@ -1,7 +1,6 @@
# Make coreutils. -*-Makefile-*-
# Copyright (C) 1990, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
# 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# Copyright (C) 1990, 1993-2007 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
+6 -2
View File
@@ -1,5 +1,5 @@
# Customize Makefile.maint. -*- makefile -*-
# Copyright (C) 2003-2006 Free Software Foundation, Inc.
# Copyright (C) 2003-2007 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
@@ -33,4 +33,8 @@ gpg_key_ID = D333CBA1
# Exclude changelog-check here so that there's less churn in ChangeLog
# files -- otherwise, you'd need to have the upcoming version number
# at the top of the file for each `make distcheck' run.
local-checks-to-skip = changelog-check
local-checks-to-skip = changelog-check strftime-check
# The local directory containing the checked-out copy of gnulib used in
# this release. Used solely to get a date for the "announcement" target.
gnulib_dir = /gnulib
+160 -49
View File
@@ -16,8 +16,7 @@
# Make coreutils. -*-Makefile-*-
# Copyright (C) 1990, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
# 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# Copyright (C) 1990, 1993-2007 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
@@ -83,15 +82,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/absolute-header.m4 \
$(top_srcdir)/m4/euidaccess-stat.m4 \
$(top_srcdir)/m4/euidaccess.m4 $(top_srcdir)/m4/exclude.m4 \
$(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.m4 \
$(top_srcdir)/m4/fcntl-safer.m4 $(top_srcdir)/m4/fcntl_h.m4 \
$(top_srcdir)/m4/fd-reopen.m4 $(top_srcdir)/m4/file-type.m4 \
$(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filemode.m4 \
$(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/flexmember.m4 \
$(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \
$(top_srcdir)/m4/fprintftime.m4 $(top_srcdir)/m4/free.m4 \
$(top_srcdir)/m4/fstypename.m4 $(top_srcdir)/m4/fsusage.m4 \
$(top_srcdir)/m4/ftruncate.m4 $(top_srcdir)/m4/fts.m4 \
$(top_srcdir)/m4/getaddrinfo.m4 \
$(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fcntl-safer.m4 \
$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fd-reopen.m4 \
$(top_srcdir)/m4/file-type.m4 $(top_srcdir)/m4/fileblocks.m4 \
$(top_srcdir)/m4/filemode.m4 $(top_srcdir)/m4/filenamecat.m4 \
$(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/fnmatch.m4 \
$(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fprintftime.m4 \
$(top_srcdir)/m4/free.m4 $(top_srcdir)/m4/fstypename.m4 \
$(top_srcdir)/m4/fsusage.m4 $(top_srcdir)/m4/ftruncate.m4 \
$(top_srcdir)/m4/fts.m4 $(top_srcdir)/m4/getaddrinfo.m4 \
$(top_srcdir)/m4/getcwd-abort-bug.m4 \
$(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
$(top_srcdir)/m4/getdate.m4 $(top_srcdir)/m4/getdelim.m4 \
@@ -103,6 +102,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/absolute-header.m4 \
$(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
$(top_srcdir)/m4/getugroups.m4 \
$(top_srcdir)/m4/getusershell.m4 $(top_srcdir)/m4/glibc21.m4 \
$(top_srcdir)/m4/gnulib-common.m4 \
$(top_srcdir)/m4/gnulib-comp.m4 \
$(top_srcdir)/m4/group-member.m4 \
$(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/hash.m4 \
@@ -123,17 +123,18 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/absolute-header.m4 \
$(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ls-mntd-fs.m4 $(top_srcdir)/m4/lstat.m4 \
$(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \
$(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbstate_t.m4 \
$(top_srcdir)/m4/mbswidth.m4 $(top_srcdir)/m4/md5.m4 \
$(top_srcdir)/m4/memcasecmp.m4 $(top_srcdir)/m4/memchr.m4 \
$(top_srcdir)/m4/memcmp.m4 $(top_srcdir)/m4/memcoll.m4 \
$(top_srcdir)/m4/memcpy.m4 $(top_srcdir)/m4/memmove.m4 \
$(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \
$(top_srcdir)/m4/memset.m4 $(top_srcdir)/m4/memxfrm.m4 \
$(top_srcdir)/m4/mkancesdirs.m4 $(top_srcdir)/m4/mkdir-p.m4 \
$(top_srcdir)/m4/mkdir-slash.m4 $(top_srcdir)/m4/mkstemp.m4 \
$(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/modechange.m4 \
$(top_srcdir)/m4/mountlist.m4 $(top_srcdir)/m4/nanosleep.m4 \
$(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbscasecmp.m4 \
$(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbswidth.m4 \
$(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memcasecmp.m4 \
$(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/memcmp.m4 \
$(top_srcdir)/m4/memcoll.m4 $(top_srcdir)/m4/memcpy.m4 \
$(top_srcdir)/m4/memmove.m4 $(top_srcdir)/m4/mempcpy.m4 \
$(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/memset.m4 \
$(top_srcdir)/m4/memxfrm.m4 $(top_srcdir)/m4/mkancesdirs.m4 \
$(top_srcdir)/m4/mkdir-p.m4 $(top_srcdir)/m4/mkdir-slash.m4 \
$(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \
$(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/mountlist.m4 \
$(top_srcdir)/m4/mpsort.m4 $(top_srcdir)/m4/nanosleep.m4 \
$(top_srcdir)/m4/netinet_in_h.m4 $(top_srcdir)/m4/nls.m4 \
$(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/pathmax.m4 \
$(top_srcdir)/m4/perl.m4 $(top_srcdir)/m4/physmem.m4 \
@@ -160,18 +161,20 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/absolute-header.m4 \
$(top_srcdir)/m4/stat-prog.m4 $(top_srcdir)/m4/stat-time.m4 \
$(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
$(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \
$(top_srcdir)/m4/stdio-safer.m4 \
$(top_srcdir)/m4/stdlib-safer.m4 $(top_srcdir)/m4/stpcpy.m4 \
$(top_srcdir)/m4/strcase.m4 $(top_srcdir)/m4/strcspn.m4 \
$(top_srcdir)/m4/stdio-safer.m4 $(top_srcdir)/m4/stdio_h.m4 \
$(top_srcdir)/m4/stdlib-safer.m4 $(top_srcdir)/m4/stdlib_h.m4 \
$(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcspn.m4 \
$(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strftime.m4 \
$(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
$(top_srcdir)/m4/strnumcmp.m4 $(top_srcdir)/m4/strpbrk.m4 \
$(top_srcdir)/m4/strtod.m4 $(top_srcdir)/m4/strtoimax.m4 \
$(top_srcdir)/m4/strtol.m4 $(top_srcdir)/m4/strtoll.m4 \
$(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \
$(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/strverscmp.m4 \
$(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
$(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strnumcmp.m4 \
$(top_srcdir)/m4/strpbrk.m4 $(top_srcdir)/m4/strtod.m4 \
$(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \
$(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \
$(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
$(top_srcdir)/m4/strverscmp.m4 \
$(top_srcdir)/m4/sys_socket_h.m4 \
$(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/tempname.m4 \
$(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
$(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
$(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
$(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/tzset.m4 \
$(top_srcdir)/m4/unicodeio.m4 $(top_srcdir)/m4/unistd-safer.m4 \
@@ -182,13 +185,13 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/absolute-header.m4 \
$(top_srcdir)/m4/utimecmp.m4 $(top_srcdir)/m4/utimens.m4 \
$(top_srcdir)/m4/utimes-null.m4 $(top_srcdir)/m4/utimes.m4 \
$(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \
$(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wcwidth.m4 \
$(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wchar_t.m4 \
$(top_srcdir)/m4/wctype.m4 $(top_srcdir)/m4/wcwidth.m4 \
$(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xalloc.m4 \
$(top_srcdir)/m4/xfts.m4 $(top_srcdir)/m4/xgetcwd.m4 \
$(top_srcdir)/m4/xnanosleep.m4 $(top_srcdir)/m4/xreadlink.m4 \
$(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtod.m4 \
$(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/m4/yesno.m4 \
$(top_srcdir)/configure.ac
$(top_srcdir)/m4/xnanosleep.m4 $(top_srcdir)/m4/xstrndup.m4 \
$(top_srcdir)/m4/xstrtod.m4 $(top_srcdir)/m4/xstrtol.m4 \
$(top_srcdir)/m4/yesno.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@@ -221,10 +224,21 @@ DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
ABSOLUTE_DIRENT_H = @ABSOLUTE_DIRENT_H@
ABSOLUTE_FCNTL_H = @ABSOLUTE_FCNTL_H@
ABSOLUTE_INTTYPES_H = @ABSOLUTE_INTTYPES_H@
ABSOLUTE_NETINET_IN_H = @ABSOLUTE_NETINET_IN_H@
ABSOLUTE_STDINT_H = @ABSOLUTE_STDINT_H@
ABSOLUTE_STDIO_H = @ABSOLUTE_STDIO_H@
ABSOLUTE_STDLIB_H = @ABSOLUTE_STDLIB_H@
ABSOLUTE_STRING_H = @ABSOLUTE_STRING_H@
ABSOLUTE_SYS_SOCKET_H = @ABSOLUTE_SYS_SOCKET_H@
ABSOLUTE_SYS_STAT_H = @ABSOLUTE_SYS_STAT_H@
ABSOLUTE_SYS_TIME_H = @ABSOLUTE_SYS_TIME_H@
ABSOLUTE_TIME_H = @ABSOLUTE_TIME_H@
ABSOLUTE_UNISTD_H = @ABSOLUTE_UNISTD_H@
ABSOLUTE_WCHAR_H = @ABSOLUTE_WCHAR_H@
ABSOLUTE_WCTYPE_H = @ABSOLUTE_WCTYPE_H@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALLOCA_H = @ALLOCA_H@
@@ -249,6 +263,7 @@ DEFAULT_POSIX2_VERSION = @DEFAULT_POSIX2_VERSION@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DF_PROG = @DF_PROG@
DIRENT_H = @DIRENT_H@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -262,23 +277,103 @@ GETOPT_H = @GETOPT_H@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_DUP2 = @GNULIB_DUP2@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
GNULIB_GETCWD = @GNULIB_GETCWD@
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_IMAXABS = @GNULIB_IMAXABS@
GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
GNULIB_MBSCHR = @GNULIB_MBSCHR@
GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
GNULIB_MBSLEN = @GNULIB_MBSLEN@
GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
GNULIB_MBSSEP = @GNULIB_MBSSEP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
GNU_PACKAGE = @GNU_PACKAGE@
GREP = @GREP@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
HAVE_MKDTEMP = @HAVE_MKDTEMP@
HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
HAVE_READLINK = @HAVE_READLINK@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_STPCPY = @HAVE_STPCPY@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASECMP = @HAVE_STRCASECMP@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
HAVE_STRNDUP = @HAVE_STRNDUP@
HAVE_STRPBRK = @HAVE_STRPBRK@
HAVE_STRSEP = @HAVE_STRSEP@
HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
HAVE_WCTYPE_H = @HAVE_WCTYPE_H@
HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
HAVE__BOOL = @HAVE__BOOL@
HELP2MAN = @HELP2MAN@
INSTALL = @INSTALL@
@@ -298,6 +393,7 @@ LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIB_ACL = @LIB_ACL@
LIB_ACL_TRIVIAL = @LIB_ACL_TRIVIAL@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
LIB_CRYPT = @LIB_CRYPT@
LIB_EACCESS = @LIB_EACCESS@
@@ -332,6 +428,23 @@ PRIPTR_PREFIX = @PRIPTR_PREFIX@
PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_FCHDIR = @REPLACE_FCHDIR@
REPLACE_FPRINTF = @REPLACE_FPRINTF@
REPLACE_GETCWD = @REPLACE_GETCWD@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
REPLACE_PRINTF = @REPLACE_PRINTF@
REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
REPLACE_STRPTIME = @REPLACE_STRPTIME@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
REPLACE_VPRINTF = @REPLACE_VPRINTF@
REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
SEQ_LIBM = @SEQ_LIBM@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -342,11 +455,15 @@ STDINT_H = @STDINT_H@
STRIP = @STRIP@
SYS_SOCKET_H = @SYS_SOCKET_H@
SYS_STAT_H = @SYS_STAT_H@
SYS_TIME_H = @SYS_TIME_H@
SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
U = @U@
UNISTD_H = @UNISTD_H@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
WCHAR_H = @WCHAR_H@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WCTYPE_H = @WCTYPE_H@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
@@ -455,15 +572,15 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --gnits '; \
cd $(srcdir) && $(AUTOMAKE) --gnits \
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
cd $(srcdir) && $(AUTOMAKE) --gnu \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits Makefile'; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnits Makefile
$(AUTOMAKE) --gnu Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -615,12 +732,6 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@case `sed 15q $(srcdir)/NEWS` in \
*"$(VERSION)"*) : ;; \
*) \
echo "NEWS not updated; not releasing" 1>&2; \
exit 1;; \
esac
$(am__remove_distdir)
test -d $(distdir) || mkdir $(distdir)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+72 -56
View File
@@ -2,7 +2,7 @@
# This Makefile fragment is shared between the coreutils,
# CPPI, Bison, and Autoconf.
## Copyright (C) 2001-2006 Free Software Foundation, Inc.
## Copyright (C) 2001-2007 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
@@ -32,6 +32,7 @@ GZIP_ENV = '--no-name --best $(gzip_rsyncable)'
CVS = cvs
GIT = git
VC = $(GIT)
VC-tag = git-tag -s -m '$(VERSION)'
CVS_LIST = build-aux/vc-list-files
@@ -68,23 +69,23 @@ export LC_ALL = C
# in system.h. E.g. today I removed from tail.c a useless definition of
# ENOSYS. It was useless because system.h ensures it's defined.
# Collect the names of rules starting with `sc_'.
syntax-check-rules := $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' $(ME))
.PHONY: $(syntax-check-rules)
# Checks that don't require cvs.
# Run `changelog-check' last, as previous test may reveal problems requiring
# new ChangeLog entries.
local-checks-available = \
po-check copyright-check writable-files m4-check author_mark_check \
po-check copyright-check m4-check author_mark_check \
changelog-check patch-check strftime-check $(syntax-check-rules) \
makefile_path_separator_check \
makefile-check check-AUTHORS
.PHONY: $(local-checks-available)
local-check = $(filter-out $(local-checks-to-skip), $(local-checks-available))
local-check := $(filter-out $(local-checks-to-skip), $(local-checks-available))
# Collect the names of rules starting with `sc_'.
syntax-check-rules := $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' $(ME))
.PHONY: $(syntax-check-rules)
syntax-check: $(syntax-check-rules)
syntax-check: $(local-check)
# @grep -nE '# *include <(limits|std(def|arg|bool))\.h>' \
# $$(find -type f -name '*.[chly]') && \
# { echo '$(ME): found conditional include' 1>&2; \
@@ -97,21 +98,17 @@ syntax-check: $(syntax-check-rules)
# FIXME: don't allow `#include .strings\.h' anywhere
sc_cast_of_argument_to_free:
@grep -nE '\<free \(\(' $(srcdir)/{lib,src}/*.[chly] && \
@grep -nE '\<free \(\(' $$($(CVS_LIST_EXCEPT)) && \
{ echo '$(ME): don'\''t cast free argument' 1>&2; \
exit 1; } || :
sc_cast_of_x_alloc_return_value:
@grep -nE --exclude=$(srcdir)/lib/xalloc.h \
--exclude=$(srcdir)/lib/regex.c \
'\*\) *x(m|c|re)alloc\>' \
$(srcdir)/{lib,src}/*.[chy] && \
@grep -nE '\*\) *x(m|c|re)alloc\>' $$($(CVS_LIST_EXCEPT)) && \
{ echo '$(ME): don'\''t cast x*alloc return value' 1>&2; \
exit 1; } || :
sc_cast_of_alloca_return_value:
@grep -nE '\*\) *alloca\>' \
$(srcdir)/src/*.[chy] && \
@grep -nE '\*\) *alloca\>' $$($(CVS_LIST_EXCEPT)) && \
{ echo '$(ME): don'\''t cast alloca return value' 1>&2; \
exit 1; } || :
@@ -120,18 +117,18 @@ sc_space_tab:
{ echo '$(ME): found SPACE-TAB sequence; remove the SPACE' \
1>&2; exit 1; } || :
# Don't use the old ato* functions in `real' code.
# Don't use *scanf or the old ato* functions in `real' code.
# They provide no error checking mechanism.
# Instead, use strto* functions.
sc_prohibit_atoi_atof:
@grep -nE '\<ato([filq]|ll)\>' $$($(CVS_LIST_EXCEPT)) && \
{ echo '$(ME): do not use ato''f, ato''i, ato''l, ato''ll, or ato''q' \
@grep -nE '\<([fs]?scanf|ato([filq]|ll))\>' $$($(CVS_LIST_EXCEPT)) && \
{ echo '$(ME): do not use *scan''f, ato''f, ato''i, ato''l, ato''ll, or ato''q' \
1>&2; exit 1; } || :
# Using EXIT_SUCCESS as the first argument to error is misleading,
# since when that parameter is 0, error does not exit. Use `0' instead.
sc_error_exit_success:
@grep -nF 'error (EXIT_SUCCESS,' \
@grep -nF 'error (EXIT_SUCCESS,' \
$$(find -type f -name '*.[chly]') && \
{ echo '$(ME): found error (EXIT_SUCCESS' 1>&2; \
exit 1; } || :
@@ -211,7 +208,9 @@ sc_prohibit_jm_in_m4:
1>&2; exit 1; } || :
sc_root_tests:
@t1=sc-root.expected; t2=sc-root.actual; \
@if test -d tests \
&& grep check-root tests/Makefile.am>/dev/null 2>&1; then \
t1=sc-root.expected; t2=sc-root.actual; \
grep -nl '^PRIV_CHECK_ARG=require-root' \
$$($(CVS_LIST) tests) |sed s,tests,., |sort > $$t1; \
sed -n 's, cd \([^ ]*\) .*MAKE..check TESTS=\(.*\),./\1/\2,p' \
@@ -220,7 +219,8 @@ sc_root_tests:
rm -f $$t1 $$t2; \
test "$$diff" \
&& { echo 'tests/Makefile.am: missing check-root action'>&2; \
exit 1; } || :
exit 1; } || :; \
fi
headers_with_interesting_macro_defs = \
exit.h \
@@ -300,7 +300,7 @@ sc_trailing_blank:
# Match lines like the following, but where there is only one space
# between the options and the description:
# -D, --all-repeated[=delimit-method] print all duplicate lines\n
longopt_re = --[a-z][0-9A-Za-z-]*(\[=[0-9A-Za-z-]*\])?
longopt_re = --[a-z][0-9A-Za-z-]*(\[?=[0-9A-Za-z-]*\]?)?
sc_two_space_separator_in_usage:
@grep -nE '^ *(-[A-Za-z],)? $(longopt_re) [^ ].*\\$$' \
$$($(CVS_LIST_EXCEPT)) && \
@@ -328,7 +328,7 @@ sc_useless_cpp_parens:
patch-check:
rm -rf src-c89 $@.1 $@.2
cp -a src src-c89
(cd src-c89; patch -V never --fuzz=0) < src/c99-to-c89.diff \
(cd src-c89; patch -p2 -V never --fuzz=0) < src/c99-to-c89.diff \
> $@.1 2>&1
if test "$${REGEN_PATCH+set}" = set; then \
diff -upr src src-c89 > new-diff || : ; fi
@@ -338,8 +338,8 @@ patch-check:
$(MAKE) -C src-c89 CFLAGS='-Wdeclaration-after-statement -Werror' \
|| msg='compile failure with extra options'; \
rm -rf src-c89 $@.1 $@.2; \
test $$msg = ok && : || echo "$$msg" 1>&2; \
test $$msg = ok
test "$$msg" = ok && : || echo "$$msg" 1>&2; \
test "$$msg" = ok
# Ensure that date's --help output stays in sync with the info
# documentation for GNU strftime. The only exception is %N,
@@ -367,22 +367,22 @@ makefile-check:
&& { echo 'Makefile.maint: use $$(...), not @...@' 1>&2; exit 1; } || :
news-date-check: NEWS
today=`date +%Y-%m-%d`; \
if head NEWS | grep '^\*.* $(VERSION_REGEXP) ('$$today')' \
>/dev/null; then \
:; \
else \
echo "version or today's date is not in NEWS" 1>&2; \
exit 1; \
today=`date +%Y-%m-%d`; \
if head NEWS | grep '^\*.* $(VERSION_REGEXP) ('$$today')' \
>/dev/null; then \
:; \
else \
echo "version or today's date is not in NEWS" 1>&2; \
exit 1; \
fi
changelog-check:
if head ChangeLog | grep 'Version $(VERSION_REGEXP)\.$$' \
>/dev/null; then \
:; \
else \
echo "$(VERSION) not in ChangeLog" 1>&2; \
exit 1; \
if head ChangeLog | grep 'Version $(VERSION_REGEXP)\.$$' \
>/dev/null; then \
:; \
else \
echo "$(VERSION) not in ChangeLog" 1>&2; \
exit 1; \
fi
m4-check:
@@ -400,6 +400,7 @@ po-check:
for file in $$($(CVS_LIST_EXCEPT)) lib/*.[ch]; do \
case $$file in \
djgpp/* | man/*) continue;; \
*/c99-to-c89.diff) continue;; \
esac; \
case $$file in \
*.[ch]) \
@@ -448,6 +449,7 @@ writable-files:
test "$$fail" && exit 1 || :
v_etc_file = lib/version-etc.c
sample-test = tests/sample-test
# Make sure that the copyright date in $(v_etc_file) is up to date.
copyright-check:
@if test -f $(v_etc_file); then \
@@ -456,13 +458,19 @@ copyright-check:
|| { echo 'out of date copyright in $(v_etc_file); update it' 1>&2; \
exit 1; }; \
fi
@if test -f $(sample-test); then \
grep '# Copyright (C) '$$(date +%Y)' Free' $(sample-test) \
>/dev/null \
|| { echo 'out of date copyright in $(sample-test); update it' 1>&2; \
exit 1; }; \
fi
# Sanity checks with the repository.
# Abort early if this tag has already been used.
vc-tag-check:
used=no; \
if $(VC) --help | grep CVS; then \
if $(VC) --help | grep CVS; then \
$(CVS) -n log -h README|grep -e $(this-vc-tag): >/dev/null \
&& used=yes; \
else \
@@ -494,7 +502,7 @@ maintainer-distcheck:
# checks fail. Also, make sure the NEWS file is up-to-date.
# FIXME: use dist-hook/my-dist like distcheck-hook/my-distcheck.
vc-dist: $(local-check) cvs-check maintainer-distcheck
$(VC) tag $(this-vc-tag)
$(VC-tag) $(this-vc-tag)
$(MAKE) dist
# Use this to make sure we don't run these programs when building
@@ -506,11 +514,11 @@ null_AM_MAKEFLAGS = \
AUTOHEADER=false \
MAKEINFO=false
# Detect format-string/arg-list mismatches that would normally be obscured
# by the use of _(). The --disable-nls effectively defines away that macro,
# and building with CFLAGS='-Wformat -Werror' causes any format warning to be
# treated as a failure. Also, check for shadowing problems with -Wshadow,
# and for pointer arithmetic problems with -Wpointer-arith.
warn_cflags = -Dlint -O -Werror -Wall -Wformat -Wshadow -Wpointer-arith
# Use -Wformat -Werror to detect format-string/arg-list mismatches.
# Also, check for shadowing problems with -Wshadow, and for pointer
# arithmetic problems with -Wpointer-arith.
# These CFLAGS are pretty strict. If you build this target, you probably
# have to have a recent version of gcc and glibc headers.
TMPDIR ?= /tmp
@@ -521,7 +529,7 @@ my-distcheck: $(local-check) $(release_archive_dir)/$(prev-tgz)
GZIP=$(GZIP_ENV) $(AMTAR) -C $(t) -zxf $(distdir).tar.gz
cd $(t)/$(distdir) \
&& ./configure --disable-nls \
&& $(MAKE) CFLAGS='-Werror -Wall -Wformat -Wshadow -Wpointer-arith' \
&& $(MAKE) CFLAGS='$(warn_cflags)' \
AM_MAKEFLAGS='$(null_AM_MAKEFLAGS)' \
&& $(MAKE) dvi \
&& $(MAKE) check \
@@ -529,11 +537,13 @@ my-distcheck: $(local-check) $(release_archive_dir)/$(prev-tgz)
(cd $(t) && mv $(distdir) $(distdir).old \
&& $(AMTAR) -zxf - ) < $(distdir).tar.gz
diff -ur $(t)/$(distdir).old $(t)/$(distdir)
cd $(t)/$(distdir) \
&& (cd src && patch -V never --fuzz=0 <c99-to-c89.diff) \
&& ./configure --disable-largefile \
CFLAGS='-Werror -ansi -pedantic -Wno-long-long' \
&& $(MAKE)
if test -f $(srcdir)/src/c99-to-c89.diff; then \
cd $(t)/$(distdir) \
&& (cd src && patch -V never --fuzz=0 <c99-to-c89.diff) \
&& ./configure --disable-largefile \
CFLAGS='-Werror -ansi -pedantic -Wno-long-long' \
&& $(MAKE); \
fi
-rm -rf $(t)
@echo "========================"; \
echo "$(distdir).tar.gz is ready for distribution"; \
@@ -555,16 +565,22 @@ prev-tgz = $(PACKAGE)-$(PREV_VERSION).tar.gz
xd-delta = $(PACKAGE)-$(PREV_VERSION)-$(VERSION).xdelta
rel-files = $(xd-delta) $(DIST_ARCHIVES)
# Approximate the date of last gnulib "update" by the ChangeLog file's
# mtime, and provide that date in the announcement.
announcement: NEWS ChangeLog $(rel-files)
@./build-aux/announce-gen \
@cl_date=$$(stat --printf @%Y $(gnulib_dir)/ChangeLog); \
utc_date=$$(date -u --date $$cl_date '+%Y-%m-%d %T %z'); \
./build-aux/announce-gen \
--release-type=$(RELEASE_TYPE) \
--package=$(PACKAGE) \
--prev=$(PREV_VERSION) \
--curr=$(VERSION) \
--gpg-key-id=$(gpg_key_ID) \
--news=NEWS \
$(addprefix --url-dir=, $(url_dir_list)) \
--bootstrap-tools=autoconf,automake,bison,gnulib \
--gnulib-snapshot-time-stamp="$$utc_date" \
$(addprefix --url-dir=, $(url_dir_list))
## ---------------- ##
## Updating files. ##
@@ -580,7 +596,7 @@ emit_upload_commands:
@echo =====================================
@echo =====================================
@echo "$(srcdir)/build-aux/gnupload $(GNUPLOADFLAGS) \\"
@echo " --to $(gnu_rel_host):coreutils \\"
@echo " --to $(gnu_rel_host):$(PACKAGE) \\"
@echo " $(rel-files)"
@echo '# send the /tmp/announcement e-mail'
@echo =====================================
@@ -590,7 +606,7 @@ $(xd-delta): $(release_archive_dir)/$(prev-tgz) $(distdir).tar.gz
xdelta delta -9 $^ $@ || :
.PHONY: alpha beta major
alpha beta major: news-date-check changelog-check $(local-check)
alpha beta major: news-date-check changelog-check $(local-check) writable-files
test $@ = major \
&& { echo $(VERSION) | grep -E '^[0-9]+(\.[0-9]+)+$$' \
|| { echo "invalid version string: $(VERSION)" 1>&2; exit 1;};}\
+68
View File
@@ -1,5 +1,73 @@
GNU coreutils NEWS -*- outline -*-
* Noteworthy changes in release 6.9 (2007-03-22) [stable]
** Bug fixes
cp -x (--one-file-system) would fail to set mount point permissions
The default block size and output format for df -P are now unaffected by
the DF_BLOCK_SIZE, BLOCK_SIZE, and BLOCKSIZE environment variables. It
is still affected by POSIXLY_CORRECT, though.
Using pr -m -s (i.e. merging files, with TAB as the output separator)
no longer inserts extraneous spaces between output columns.
* Noteworthy changes in release 6.8 (2007-02-24) [not-unstable]
** Bug fixes
chgrp, chmod, and chown now honor the --preserve-root option.
Before, they would warn, yet continuing traversing and operating on /.
chmod no longer fails in an environment (e.g., a chroot) with openat
support but with insufficient /proc support.
"cp --parents F/G D" no longer creates a directory D/F when F is not
a directory (and F/G is therefore invalid).
"cp --preserve=mode" would create directories that briefly had
too-generous permissions in some cases. For example, when copying a
directory with permissions 777 the destination directory might
temporarily be setgid on some file systems, which would allow other
users to create subfiles with the same group as the directory. Fix
similar problems with 'install' and 'mv'.
cut no longer dumps core for usage like "cut -f2- f1 f2" with two or
more file arguments. This was due to a double-free bug, introduced
in coreutils-5.3.0.
dd bs= operands now silently override any later ibs= and obs=
operands, as POSIX and tradition require.
"ls -FRL" always follows symbolic links on Linux. Introduced in
coreutils-6.0.
A cross-partition "mv /etc/passwd ~" (by non-root) now prints
a reasonable diagnostic. Before, it would print this:
"mv: cannot remove `/etc/passwd': Not a directory".
pwd and "readlink -e ." no longer fail unnecessarily when a parent
directory is unreadable.
"rm -rf /etc/passwd" (run by non-root) now prints a diagnostic.
Before it would print nothing.
"rm --interactive=never F" no longer prompts for an unwritable F
** New features
sort's new --compress-program=PROG option specifies a compression
program to use when writing and reading temporary files.
This can help save both time and disk space when sorting large inputs.
sort accepts the new option -C, which acts like -c except no diagnostic
is printed. Its --check option now accepts an optional argument, and
--check=quiet and --check=silent are now aliases for -C, while
--check=diagnose-first is an alias for -c or plain --check.
* Noteworthy changes in release 6.7 (2006-12-08) [stable]
** Bug fixes
+12
View File
@@ -97,6 +97,18 @@ Here is one possible patch to correct the problem:
+#ifndef __LP64__
************************
OSF/1 4.0d build failure
------------------------
If you use /usr/bin/make on an OSF/1 4.0d system, it will fail due
to the presence of the "[" target. That version of make appears to
treat "[" as some syntax relating to locks. To work around that,
the best solution is to use GNU make. Otherwise, simply remove
all mention of "[$(EXEEXT)" from src/Makefile.
**********************
Running tests as root:
----------------------
+7
View File
@@ -150,6 +150,7 @@ Eric Pemente [email protected]
Eric S. Raymond [email protected]
Erik Bennett [email protected]
Erik Corry [email protected]
Evan Hunt [email protected]
Felix Lee [email protected]
Felix Rauch Valenti [email protected]
Ferdinand [email protected]
@@ -192,6 +193,7 @@ Hans Verkuil [email protected]
Harald Dunkel [email protected]
Harry Liu [email protected]
Harti Brandt [email protected]
Harvey Eneman [email protected]
Helen Faulkner [email protected]
Herbert Xu [email protected]
Holger Berger [email protected]
@@ -208,6 +210,7 @@ Ivo Timmermans [email protected]
James [email protected]
James Antill jmanti%[email protected]
James Lemley [email protected]
James Hunt [email protected]
James Sneeringer [email protected]
James Tanis [email protected]
James Youngman [email protected]
@@ -323,11 +326,13 @@ Matt Perry [email protected]
Matt Schalit [email protected]
Matt Swift [email protected]
Matthew Arnison [email protected]
Matthew M. Boedicker [email protected]
Matthew Braun [email protected]
Matthew Clarke [email protected]
Matthew S. Levine [email protected]
Matthew Smith [email protected]
Matthew Swift [email protected]
Matthew Woehlke [email protected]
Matthias Urlichs [email protected]
Matti Aarnio [email protected]
Mattias Wadenstein [email protected]
@@ -471,6 +476,7 @@ Thomas Hood [email protected]
Thomas Luzat [email protected]
Thomas M.Ott [email protected]
Thomas Quinot [email protected]
Thomas Schwinge [email protected]
Thomas Wolff [email protected]
Tim J. Robbins [email protected]
Tim Mooney [email protected]
@@ -513,6 +519,7 @@ William Bader [email protected]
William Dowling [email protected]
William Lewis [email protected]
wiregauze [email protected]
Wis Macomson [email protected]
Wojciech Purczynski [email protected]
Wolfram Kleff [email protected]
Won-kyu Park [email protected]
+9
View File
@@ -1,3 +1,12 @@
stty.c:
use xstrtoul, not sscanf
printf:
Now that gnulib supports *printf("%a"), import one of the
*printf-posix modules so that printf(1) will support %a even on
platforms where the native *printf(3) is deficient.
Suggestion form Eric Blake.
strip: add an option to specify the program used to strip binaries.
suggestion from Karl Berry
+13 -4
View File
@@ -11,8 +11,8 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
m4_if(m4_PACKAGE_VERSION, [2.61],,
[m4_fatal([this file was generated for autoconf 2.61.
m4_if(m4_PACKAGE_VERSION, [2.61a],,
[m4_fatal([this file was generated for autoconf 2.61a.
You have another version of autoconf. If you want to use that,
you should regenerate the build system entirely.], [63])])
@@ -962,6 +962,7 @@ m4_include([m4/euidaccess.m4])
m4_include([m4/exclude.m4])
m4_include([m4/exitfail.m4])
m4_include([m4/extensions.m4])
m4_include([m4/fchdir.m4])
m4_include([m4/fcntl-safer.m4])
m4_include([m4/fcntl_h.m4])
m4_include([m4/fd-reopen.m4])
@@ -999,6 +1000,7 @@ m4_include([m4/gettimeofday.m4])
m4_include([m4/getugroups.m4])
m4_include([m4/getusershell.m4])
m4_include([m4/glibc21.m4])
m4_include([m4/gnulib-common.m4])
m4_include([m4/gnulib-comp.m4])
m4_include([m4/group-member.m4])
m4_include([m4/hard-locale.m4])
@@ -1036,6 +1038,7 @@ m4_include([m4/lstat.m4])
m4_include([m4/mbchar.m4])
m4_include([m4/mbiter.m4])
m4_include([m4/mbrtowc.m4])
m4_include([m4/mbscasecmp.m4])
m4_include([m4/mbstate_t.m4])
m4_include([m4/mbswidth.m4])
m4_include([m4/md5.m4])
@@ -1056,6 +1059,7 @@ m4_include([m4/mkstemp.m4])
m4_include([m4/mktime.m4])
m4_include([m4/modechange.m4])
m4_include([m4/mountlist.m4])
m4_include([m4/mpsort.m4])
m4_include([m4/nanosleep.m4])
m4_include([m4/netinet_in_h.m4])
m4_include([m4/nls.m4])
@@ -1108,12 +1112,14 @@ m4_include([m4/stdbool.m4])
m4_include([m4/stdint.m4])
m4_include([m4/stdint_h.m4])
m4_include([m4/stdio-safer.m4])
m4_include([m4/stdio_h.m4])
m4_include([m4/stdlib-safer.m4])
m4_include([m4/stdlib_h.m4])
m4_include([m4/stpcpy.m4])
m4_include([m4/strcase.m4])
m4_include([m4/strcspn.m4])
m4_include([m4/strdup.m4])
m4_include([m4/strftime.m4])
m4_include([m4/string_h.m4])
m4_include([m4/strndup.m4])
m4_include([m4/strnlen.m4])
m4_include([m4/strnumcmp.m4])
@@ -1128,7 +1134,9 @@ m4_include([m4/strtoumax.m4])
m4_include([m4/strverscmp.m4])
m4_include([m4/sys_socket_h.m4])
m4_include([m4/sys_stat_h.m4])
m4_include([m4/sys_time_h.m4])
m4_include([m4/tempname.m4])
m4_include([m4/time_h.m4])
m4_include([m4/time_r.m4])
m4_include([m4/timespec.m4])
m4_include([m4/tm_gmtoff.m4])
@@ -1149,14 +1157,15 @@ m4_include([m4/utimes-null.m4])
m4_include([m4/utimes.m4])
m4_include([m4/vasnprintf.m4])
m4_include([m4/vasprintf.m4])
m4_include([m4/wchar.m4])
m4_include([m4/wchar_t.m4])
m4_include([m4/wctype.m4])
m4_include([m4/wcwidth.m4])
m4_include([m4/wint_t.m4])
m4_include([m4/xalloc.m4])
m4_include([m4/xfts.m4])
m4_include([m4/xgetcwd.m4])
m4_include([m4/xnanosleep.m4])
m4_include([m4/xreadlink.m4])
m4_include([m4/xstrndup.m4])
m4_include([m4/xstrtod.m4])
m4_include([m4/xstrtol.m4])
+110 -58
View File
@@ -1,8 +1,8 @@
#! /bin/sh
# Bootstrap this package from CVS.
# Bootstrap this package from checked-out sources.
# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# Copyright (C) 2003, 2004, 2005, 2006, 2007 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
@@ -29,6 +29,11 @@ nl='
LC_ALL=C
export LC_ALL
# Temporary directory names.
bt='._bootmp'
bt_regex=`echo "$bt"| sed 's/\./[.]/g'`
bt2=${bt}2
usage() {
echo >&2 "\
Usage: $0 [OPTION]...
@@ -38,14 +43,14 @@ Options:
--gnulib-srcdir=DIRNAME Specify the local directory where gnulib
sources reside. Use this if you already
have gnulib sources on your machine, and
do not want to waste your bandwidth dowloading
do not want to waste your bandwidth downloading
them again.
--copy Copy files instead of creating symbolic links.
--force Attempt to bootstrap even if the sources seem
not to have been checked out.
--skip-po Do not download po files.
--cvs-user=USERNAME Set the CVS username to be used when accessing
the gnulib repository.
--cvs-user=USERNAME Set the username to use when checking out
sources from the gnulib repository.
If the file .bootstrap.conf exists in the current working directory, its
contents are read as shell variables to configure the bootstrap.
@@ -84,19 +89,20 @@ extract_package_name='
}
'
package=`sed -n "$extract_package_name" configure.ac` || exit
gnulib_name=lib$package
build_aux=build-aux
# Extra files from gnulib, which override files from other sources.
gnulib_extra_files='
build-aux/announce-gen
build-aux/install-sh
build-aux/missing
build-aux/mdate-sh
build-aux/texinfo.tex
build-aux/depcomp
build-aux/config.guess
build-aux/config.sub
gnulib_extra_files="
$build_aux/install-sh
$build_aux/missing
$build_aux/mdate-sh
$build_aux/texinfo.tex
$build_aux/depcomp
$build_aux/config.guess
$build_aux/config.sub
doc/INSTALL
'
"
# Other locale categories that need message catalogs.
EXTRA_LOCALE_CATEGORIES=
@@ -113,7 +119,7 @@ excluded_files=
# File that should exist in the top directory of a checked out hierarchy,
# but not in a distribution tarball.
CVS_only_file=README-cvs
checkout_only_file=README-hacking
# Whether to use copies instead of symlinks.
copy=false
@@ -138,7 +144,7 @@ do
--skip-po)
SKIP_PO=t;;
--force)
CVS_only_file=;;
checkout_only_file=;;
--copy)
copy=true;;
*)
@@ -147,12 +153,42 @@ do
esac
done
if test -n "$CVS_only_file" && test ! -r "$CVS_only_file"; then
if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then
echo "$0: Bootstrapping from a non-checked-out distribution is risky." >&2
exit 1
fi
echo "$0: Bootstrapping CVS $package..."
# If $STR is not already on a line by itself in $FILE, insert it,
# sorting the new contents of the file and replacing $FILE with the result.
insert_sorted_if_absent() {
file=$1
str=$2
echo "$str" | sort -u - $file | cmp -s - $file \
|| echo "$str" | sort -u - $file -o $file \
|| exit 1
}
# Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac.
found_aux_dir=no
grep '^[ ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'\])' configure.ac \
>/dev/null && found_aux_dir=yes
grep '^[ ]*AC_CONFIG_AUX_DIR('"$build_aux"')' configure.ac \
>/dev/null && found_aux_dir=yes
if test $found_aux_dir = no; then
echo "$0: expected line not found in configure.ac. Add the following:" >&2
echo " AC_CONFIG_AUX_DIR([$build_aux])" >&2.
fi
# If $build_aux doesn't exist, create it now, otherwise some bits
# below will malfunction. If creating it, also mark it as ignored.
if test ! -d $build_aux; then
mkdir $build_aux
for ig in .cvsignore .gitignore; do
test -f $ig && insert_sorted_if_absent $ig $build_aux
done
fi
echo "$0: Bootstrapping from checked-out $package sources..."
cleanup_gnulib() {
status=$?
@@ -246,7 +282,9 @@ case $SKIP_PO in
WGET_COMMAND='';;
esac
get_translations po $package || exit
if test -d po; then
get_translations po $package || exit
fi
if test -d runtime-po; then
get_translations runtime-po $package-runtime || exit
@@ -315,7 +353,8 @@ cp_mark_as_generated()
if test -z "$c1"; then
cmp -s "$cp_src" "$cp_dst" || {
echo "$0: cp -f $cp_src $cp_dst" &&
cp -f "$cp_src" "$cp_dst"
rm -f "$cp_dst" &&
sed "s!$bt_regex/!!g" "$cp_src" > "$cp_dst"
}
else
# Copy the file first to get proper permissions if it
@@ -324,7 +363,7 @@ cp_mark_as_generated()
(
echo "$c1-*- buffer-read-only: t -*- vi: set ro:$c2" &&
echo "${c1}DO NOT EDIT! GENERATED AUTOMATICALLY!$c2" &&
cat "$cp_src"
sed "s!$bt_regex/!!g" "$cp_src"
) > $cp_dst-t &&
if cmp -s "$cp_dst-t" "$cp_dst"; then
rm -f "$cp_dst-t"
@@ -362,7 +401,7 @@ slurp() {
done
if test $file = Makefile.am; then
copied=$copied${sep}gnulib.mk; sep=$nl
remove_intl='/^[^#].*\/intl/s/^/#/'
remove_intl='/^[^#].*\/intl/s/^/#/;'"s!$bt_regex/!!g"
sed "$remove_intl" $1/$dir/$file | cmp -s - $dir/gnulib.mk || {
echo "$0: Copying $1/$dir/$file to $dir/gnulib.mk ..." &&
rm -f $dir/gnulib.mk &&
@@ -393,8 +432,12 @@ slurp() {
for dot_ig in .cvsignore .gitignore; do
ig=$dir/$dot_ig
if test -n "$copied" && test -f $ig; then
echo "$copied" | sort -u - $ig | cmp -s - $ig ||
echo "$copied" | sort -u - $ig -o $ig || exit
insert_sorted_if_absent $ig "$copied"
# If an ignored file name ends with _.h, then also add
# the name with just ".h". Many gnulib headers are generated,
# e.g., stdint_.h -> stdint.h, dirent_.h ->..., etc.
f=`echo "$copied"|sed 's/_\.h$/.h/'`
insert_sorted_if_absent $ig "$f"
fi
done
done
@@ -402,9 +445,6 @@ slurp() {
# Create boot temporary directories to import from gnulib and gettext.
bt='.#bootmp'
bt2=${bt}2
rm -fr $bt $bt2 &&
mkdir $bt $bt2 || exit
@@ -413,9 +453,9 @@ mkdir $bt $bt2 || exit
gnulib_tool_options="\
--import\
--no-changelog\
--aux-dir $bt/build-aux\
--aux-dir $bt/$build_aux\
--doc-base $bt/doc\
--lib lib$package\
--lib $gnulib_name\
--m4-base $bt/m4/\
--source-base $bt/lib/\
--tests-base $bt/tests\
@@ -431,23 +471,34 @@ done
# Import from gettext.
with_gettext=yes
grep '^[ ]*AM_GNU_GETTEXT_VERSION(' configure.ac >/dev/null || \
with_gettext=no
echo "$0: (cd $bt2; autopoint) ..."
cp configure.ac $bt2 &&
(cd $bt2 && autopoint && rm configure.ac) &&
slurp $bt2 $bt || exit
if test $with_gettext = yes; then
echo "$0: (cd $bt2; autopoint) ..."
cp configure.ac $bt2 &&
(cd $bt2 && autopoint && rm configure.ac) &&
slurp $bt2 $bt || exit
rm -fr $bt $bt2 || exit
rm -fr $bt $bt2 || exit
fi
# Reconfigure, getting other files.
for command in \
libtool \
'aclocal --force -I m4' \
'autoconf --force' \
'autoheader --force' \
'automake --add-missing --copy --force-missing';
do
if test "$command" = libtool; then
grep '^[ ]*AM_PROG_LIBTOOL\>' configure.ac >/dev/null ||
continue
command='libtoolize -c -f'
fi
echo "$0: $command ..."
$command || exit
done
@@ -463,36 +514,37 @@ for file in $gnulib_extra_files; do
symlink_to_gnulib $file $dst || exit
done
# Create gettext configuration.
echo "$0: Creating po/Makevars from po/Makevars.template ..."
rm -f po/Makevars
sed '
/^EXTRA_LOCALE_CATEGORIES *=/s/=.*/= '"$EXTRA_LOCALE_CATEGORIES"'/
/^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-'"$package"'@gnu.org/
/^XGETTEXT_OPTIONS *=/{
s/$/ \\/
a\
'"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+}
}
' po/Makevars.template >po/Makevars
if test -d runtime-po; then
# Similarly for runtime-po/Makevars, but not quite the same.
rm -f runtime-po/Makevars
if test $with_gettext = yes; then
# Create gettext configuration.
echo "$0: Creating po/Makevars from po/Makevars.template ..."
rm -f po/Makevars
sed '
/^DOMAIN *=.*/s/=.*/= '"$package"'-runtime/
/^subdir *=.*/s/=.*/= runtime-po/
/^EXTRA_LOCALE_CATEGORIES *=/s/=.*/= '"$EXTRA_LOCALE_CATEGORIES"'/
/^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-'"$package"'@gnu.org/
/^XGETTEXT_OPTIONS *=/{
s/$/ \\/
a\
'"$XGETTEXT_OPTIONS_RUNTIME"' $${end_of_xgettext_options+}
'"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+}
}
' <po/Makevars.template >runtime-po/Makevars
' po/Makevars.template >po/Makevars
# Copy identical files from po to runtime-po.
(cd po && cp -p Makefile.in.in *-quot *.header *.sed *.sin ../runtime-po)
if test -d runtime-po; then
# Similarly for runtime-po/Makevars, but not quite the same.
rm -f runtime-po/Makevars
sed '
/^DOMAIN *=.*/s/=.*/= '"$package"'-runtime/
/^subdir *=.*/s/=.*/= runtime-po/
/^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-'"$package"'@gnu.org/
/^XGETTEXT_OPTIONS *=/{
s/$/ \\/
a\
'"$XGETTEXT_OPTIONS_RUNTIME"' $${end_of_xgettext_options+}
}
' <po/Makevars.template >runtime-po/Makevars
# Copy identical files from po to runtime-po.
(cd po && cp -p Makefile.in.in *-quot *.header *.sed *.sin ../runtime-po)
fi
fi
echo "$0: done. Now you can run './configure'."
+41 -23
View File
@@ -1,6 +1,6 @@
# Bootstrap configuration.
# Copyright (C) 2006 Free Software Foundation, Inc.
# Copyright (C) 2006, 2007 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
@@ -19,11 +19,12 @@
# We don't need these modules, even though gnulib-tool mistakenly
# includes them because of gettext dependencies.
# includes them because of gettext and fchdir dependencies.
avoided_gnulib_modules='
--avoid=lock
--avoid=size_max
--avoid=xsize
--avoid=canonicalize-lgpl
'
# These modules are obsolete and can probably be removed soon,
@@ -37,12 +38,14 @@ obsolete_gnulib_modules='
gnulib_modules="
$avoided_gnulib_modules
$obsolete_gnulib_modules
acl alloca argmatch assert backupfile base64 c-strtod
acl alloca announce-gen argmatch assert backupfile base64
c-strcase c-strtod
c-strtold calloc canon-host canonicalize chown cloexec
config-h configmake
closeout cycle-check d-ino d-type diacrit dirfd dirname dup2
error euidaccess exclude exitfail fcntl fcntl-safer fdl file-type
fileblocks filemode filenamecat fnmatch-gnu fopen-safer
error euidaccess exclude exitfail fchdir fcntl fcntl-safer fdl
file-type fileblocks filemode filenamecat fnmatch-gnu
fopen-safer
fprintftime fsusage ftruncate fts getdate getgroups gethrxtime
getline getloadavg getndelim2 getopt getpagesize getpass-gnu
gettext gettime gettimeofday getugroups getusershell gnupload
@@ -51,20 +54,20 @@ gnulib_modules="
lchmod lchown lib-ignore linebuffer link-follow
long-options lstat malloc mbswidth md5 memcasecmp mempcpy
memrchr mkancesdirs mkdir mkdir-p mkstemp mktime modechange
mountlist obstack pathmax perl physmem posixtm posixver putenv
mountlist mpsort obstack pathmax perl physmem posixtm posixver putenv
quote quotearg raise readlink readtokens readtokens0 readutmp
realloc regex rename-dest-slash rmdir rmdir-errno
root-dev-ino
rpmatch
safe-read same
save-cwd savedir savewd settime sha1 sig2str ssize_t stat-macros
stat-time stdbool stdlib-safer stpcpy strcase strftime
stat-time stdbool stdlib-safer stpcpy strftime
strpbrk strtoimax strtoumax strverscmp sys_stat timespec tzset
unicodeio unistd-safer unlink-busy unlinkdir unlocked-io
uptime userspec utimecmp utimens vasprintf verify version-etc-fsf
wcwidth winsz-ioctl winsz-termios xalloc xgetcwd xgethostname
xmemcoll xnanosleep xreadlink xstrtod xstrtoimax xstrtol
xstrtold xstrtoumax yesno
xmemcoll xnanosleep xreadlink xreadlink-with-size xstrtod xstrtoimax
xstrtol xstrtold xstrtoumax yesno
"
# Other locale categories that need message catalogs.
@@ -78,17 +81,32 @@ XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
--flag=wrapf:1:c-format\\\
'
# Gettext supplies these files, but we don't need them since
# we don't have an intl subdirectory.
excluded_files='
m4/glibc2.m4
m4/intdiv0.m4
m4/lcmessage.m4
m4/lock.m4
m4/printf-posix.m4
m4/size_max.m4
m4/uintmax_t.m4
m4/ulonglong.m4
m4/visibility.m4
m4/xsize.m4
'
# If "AM_GNU_GETTEXT(external" or "AM_GNU_GETTEXT([external]"
# appears in configure.ac, exclude some unnecessary files.
# Without grep's -E option (not portable enough, pre-configure),
# the following test is ugly. Also, this depends on the existence
# of configure.ac, not the obsolescent-named configure.in. But if
# you're using this infrastructure, you should care about such things.
gettext_external=0
grep '^[ ]*AM_GNU_GETTEXT(external\>' configure.ac > /dev/null &&
gettext_external=1
grep '^[ ]*AM_GNU_GETTEXT(\[external\]' configure.ac > /dev/null &&
gettext_external=1
if test $gettext_external = 1; then
# Gettext supplies these files, but we don't need them since
# we don't have an intl subdirectory.
excluded_files='
m4/glibc2.m4
m4/intdiv0.m4
m4/lcmessage.m4
m4/lock.m4
m4/printf-posix.m4
m4/size_max.m4
m4/uintmax_t.m4
m4/ulonglong.m4
m4/visibility.m4
m4/xsize.m4
'
fi
+13843 -12131
View File
File diff suppressed because it is too large Load Diff
+6 -4
View File
@@ -1,7 +1,7 @@
# -*- autoconf -*-
# Process this file with autoconf to produce a configure script.
# Copyright (C) 1991, 1993-2006 Free Software Foundation, Inc.
# Copyright (C) 1991, 1993-2007 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
@@ -19,15 +19,15 @@
dnl Written by Jim Meyering.
AC_PREREQ(2.60)
AC_INIT([GNU coreutils],[6.7],[[email protected]])
AC_PREREQ(2.61)
AC_INIT([GNU coreutils],[6.9],[[email protected]])
AC_CONFIG_SRCDIR(src/ls.c)
AC_CONFIG_AUX_DIR(build-aux)
AC_CONFIG_HEADERS([lib/config.h:lib/config.hin])
AB_INIT()
AM_INIT_AUTOMAKE([1.9.6 gnits dist-bzip2])
AM_INIT_AUTOMAKE([1.10 dist-bzip2])
AC_PROG_CC_STDC
AM_PROG_CC_C_O
@@ -39,6 +39,8 @@ gl_EARLY
gl_INIT
coreutils_MACROS
AC_FUNC_FORK
AC_CHECK_FUNCS(uname,
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS uname\$(EXEEXT)"
MAN="$MAN uname.1")
+75
View File
@@ -1,3 +1,78 @@
2007-03-21 Eric Blake <[email protected]>
* coreutils.texi (md5sum invocation): Document escapes in output
format. Reported by Armijn Hemel.
2007-03-15 Paul Eggert <[email protected]>
Fix manual in response to bug reports by Dan Jacobson.
* coreutils.texi (sort invocation): Explain numeric sorts better.
Compress self-congratulation into a simple "comparison is exact"
notice; the --general-numeric-sort option already explains the
tradeoffs.
(seq invocation): Add example of -f.
2007-03-12 Jim Meyering <[email protected]>
* coreutils.texi (cp invocation): Mention that --preserve=timestamps
doesn't preserve time stamps on symbolic links.
Reported by Polo Talnir in <https://bugzilla.redhat.com/230866>.
2007-02-27 Paul Eggert <[email protected]>
* coreutils.texi (df invocation): With -P, the default block size
and output format is not affected by DF_BLOCK_SIZE, BLOCK_SIZE, or
BLOCKSIZE.
2007-01-30 Paul Eggert <[email protected]>
* coreutils.texi
(Input processing in ptx, mkdir invocation, rmdir invocation):
@item -> @itemx to fix some typos.
2007-01-30 Paul Eggert <[email protected]>
* coreutils.texi (mkdir invocation): Say how to set the file
permission bits of a parent directory with mkdir -p.
2007-01-29 Jim Meyering <[email protected]>
Document new syntax: "chown +0:+287 file", "chgrp +99 file"
* coreutils.texi (Disambiguating names and IDs): New section.
(chown invocation, chgrp invocation): Mention the new syntax
with an xref to the new section.
2007-01-19 Jim Meyering <[email protected]>
* coreutils.texi (ls: General output formatting): Mention the
workarounds to accommodate the Apple Terminal bug.
2007-01-04 Jim Meyering <[email protected]>
* coreutils.texi (base64 invocation): When decoding, newlines
are always accepted.
2007-01-03 Jim Meyering <[email protected]>
Document what the ".0" in e.g., "-k 2,3.0" means, and...
* coreutils.texi (sort invocation): ... that it can be applied to the
field-end spec, but not the field-start one. Patch from Evan Hunt.
2006-12-21 Jim Meyering <[email protected]>
* coreutils.texi (dd invocation): Improve the documentation
for bs, ibs, obs, and cbs. Suggestion from Dan Jacobson.
Patch by Olivier Delhomme.
(dd invocation): Add to the description of cbs.
(dd invocation): Specify that bs=N overrides only any
_preceding_ ibs and obs settings. Spotted by Andreas Schwab.
2006-12-14 Jim Meyering <[email protected]>
* coreutils.texi: Remove two doubled words.
(Treating / specially): With --preserve-root, chgrp and chown
will not modify "/", even through a symlink.
2006-11-28 Jim Meyering <[email protected]>
* perm.texi (Mode Structure): Fix typo: s/setgid/setuid/.
+157 -39
View File
@@ -78,15 +78,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/absolute-header.m4 \
$(top_srcdir)/m4/euidaccess-stat.m4 \
$(top_srcdir)/m4/euidaccess.m4 $(top_srcdir)/m4/exclude.m4 \
$(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.m4 \
$(top_srcdir)/m4/fcntl-safer.m4 $(top_srcdir)/m4/fcntl_h.m4 \
$(top_srcdir)/m4/fd-reopen.m4 $(top_srcdir)/m4/file-type.m4 \
$(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filemode.m4 \
$(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/flexmember.m4 \
$(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \
$(top_srcdir)/m4/fprintftime.m4 $(top_srcdir)/m4/free.m4 \
$(top_srcdir)/m4/fstypename.m4 $(top_srcdir)/m4/fsusage.m4 \
$(top_srcdir)/m4/ftruncate.m4 $(top_srcdir)/m4/fts.m4 \
$(top_srcdir)/m4/getaddrinfo.m4 \
$(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fcntl-safer.m4 \
$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fd-reopen.m4 \
$(top_srcdir)/m4/file-type.m4 $(top_srcdir)/m4/fileblocks.m4 \
$(top_srcdir)/m4/filemode.m4 $(top_srcdir)/m4/filenamecat.m4 \
$(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/fnmatch.m4 \
$(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fprintftime.m4 \
$(top_srcdir)/m4/free.m4 $(top_srcdir)/m4/fstypename.m4 \
$(top_srcdir)/m4/fsusage.m4 $(top_srcdir)/m4/ftruncate.m4 \
$(top_srcdir)/m4/fts.m4 $(top_srcdir)/m4/getaddrinfo.m4 \
$(top_srcdir)/m4/getcwd-abort-bug.m4 \
$(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
$(top_srcdir)/m4/getdate.m4 $(top_srcdir)/m4/getdelim.m4 \
@@ -98,6 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/absolute-header.m4 \
$(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
$(top_srcdir)/m4/getugroups.m4 \
$(top_srcdir)/m4/getusershell.m4 $(top_srcdir)/m4/glibc21.m4 \
$(top_srcdir)/m4/gnulib-common.m4 \
$(top_srcdir)/m4/gnulib-comp.m4 \
$(top_srcdir)/m4/group-member.m4 \
$(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/hash.m4 \
@@ -118,17 +119,18 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/absolute-header.m4 \
$(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ls-mntd-fs.m4 $(top_srcdir)/m4/lstat.m4 \
$(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \
$(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbstate_t.m4 \
$(top_srcdir)/m4/mbswidth.m4 $(top_srcdir)/m4/md5.m4 \
$(top_srcdir)/m4/memcasecmp.m4 $(top_srcdir)/m4/memchr.m4 \
$(top_srcdir)/m4/memcmp.m4 $(top_srcdir)/m4/memcoll.m4 \
$(top_srcdir)/m4/memcpy.m4 $(top_srcdir)/m4/memmove.m4 \
$(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \
$(top_srcdir)/m4/memset.m4 $(top_srcdir)/m4/memxfrm.m4 \
$(top_srcdir)/m4/mkancesdirs.m4 $(top_srcdir)/m4/mkdir-p.m4 \
$(top_srcdir)/m4/mkdir-slash.m4 $(top_srcdir)/m4/mkstemp.m4 \
$(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/modechange.m4 \
$(top_srcdir)/m4/mountlist.m4 $(top_srcdir)/m4/nanosleep.m4 \
$(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbscasecmp.m4 \
$(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbswidth.m4 \
$(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memcasecmp.m4 \
$(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/memcmp.m4 \
$(top_srcdir)/m4/memcoll.m4 $(top_srcdir)/m4/memcpy.m4 \
$(top_srcdir)/m4/memmove.m4 $(top_srcdir)/m4/mempcpy.m4 \
$(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/memset.m4 \
$(top_srcdir)/m4/memxfrm.m4 $(top_srcdir)/m4/mkancesdirs.m4 \
$(top_srcdir)/m4/mkdir-p.m4 $(top_srcdir)/m4/mkdir-slash.m4 \
$(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \
$(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/mountlist.m4 \
$(top_srcdir)/m4/mpsort.m4 $(top_srcdir)/m4/nanosleep.m4 \
$(top_srcdir)/m4/netinet_in_h.m4 $(top_srcdir)/m4/nls.m4 \
$(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/pathmax.m4 \
$(top_srcdir)/m4/perl.m4 $(top_srcdir)/m4/physmem.m4 \
@@ -155,18 +157,20 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/absolute-header.m4 \
$(top_srcdir)/m4/stat-prog.m4 $(top_srcdir)/m4/stat-time.m4 \
$(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
$(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \
$(top_srcdir)/m4/stdio-safer.m4 \
$(top_srcdir)/m4/stdlib-safer.m4 $(top_srcdir)/m4/stpcpy.m4 \
$(top_srcdir)/m4/strcase.m4 $(top_srcdir)/m4/strcspn.m4 \
$(top_srcdir)/m4/stdio-safer.m4 $(top_srcdir)/m4/stdio_h.m4 \
$(top_srcdir)/m4/stdlib-safer.m4 $(top_srcdir)/m4/stdlib_h.m4 \
$(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcspn.m4 \
$(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strftime.m4 \
$(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
$(top_srcdir)/m4/strnumcmp.m4 $(top_srcdir)/m4/strpbrk.m4 \
$(top_srcdir)/m4/strtod.m4 $(top_srcdir)/m4/strtoimax.m4 \
$(top_srcdir)/m4/strtol.m4 $(top_srcdir)/m4/strtoll.m4 \
$(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \
$(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/strverscmp.m4 \
$(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
$(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strnumcmp.m4 \
$(top_srcdir)/m4/strpbrk.m4 $(top_srcdir)/m4/strtod.m4 \
$(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \
$(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \
$(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
$(top_srcdir)/m4/strverscmp.m4 \
$(top_srcdir)/m4/sys_socket_h.m4 \
$(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/tempname.m4 \
$(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
$(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
$(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
$(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/tzset.m4 \
$(top_srcdir)/m4/unicodeio.m4 $(top_srcdir)/m4/unistd-safer.m4 \
@@ -177,13 +181,13 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/absolute-header.m4 \
$(top_srcdir)/m4/utimecmp.m4 $(top_srcdir)/m4/utimens.m4 \
$(top_srcdir)/m4/utimes-null.m4 $(top_srcdir)/m4/utimes.m4 \
$(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \
$(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wcwidth.m4 \
$(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wchar_t.m4 \
$(top_srcdir)/m4/wctype.m4 $(top_srcdir)/m4/wcwidth.m4 \
$(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xalloc.m4 \
$(top_srcdir)/m4/xfts.m4 $(top_srcdir)/m4/xgetcwd.m4 \
$(top_srcdir)/m4/xnanosleep.m4 $(top_srcdir)/m4/xreadlink.m4 \
$(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtod.m4 \
$(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/m4/yesno.m4 \
$(top_srcdir)/configure.ac
$(top_srcdir)/m4/xnanosleep.m4 $(top_srcdir)/m4/xstrndup.m4 \
$(top_srcdir)/m4/xstrtod.m4 $(top_srcdir)/m4/xstrtol.m4 \
$(top_srcdir)/m4/yesno.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -212,10 +216,21 @@ am__vpath_adj = case $$p in \
esac;
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ABSOLUTE_DIRENT_H = @ABSOLUTE_DIRENT_H@
ABSOLUTE_FCNTL_H = @ABSOLUTE_FCNTL_H@
ABSOLUTE_INTTYPES_H = @ABSOLUTE_INTTYPES_H@
ABSOLUTE_NETINET_IN_H = @ABSOLUTE_NETINET_IN_H@
ABSOLUTE_STDINT_H = @ABSOLUTE_STDINT_H@
ABSOLUTE_STDIO_H = @ABSOLUTE_STDIO_H@
ABSOLUTE_STDLIB_H = @ABSOLUTE_STDLIB_H@
ABSOLUTE_STRING_H = @ABSOLUTE_STRING_H@
ABSOLUTE_SYS_SOCKET_H = @ABSOLUTE_SYS_SOCKET_H@
ABSOLUTE_SYS_STAT_H = @ABSOLUTE_SYS_STAT_H@
ABSOLUTE_SYS_TIME_H = @ABSOLUTE_SYS_TIME_H@
ABSOLUTE_TIME_H = @ABSOLUTE_TIME_H@
ABSOLUTE_UNISTD_H = @ABSOLUTE_UNISTD_H@
ABSOLUTE_WCHAR_H = @ABSOLUTE_WCHAR_H@
ABSOLUTE_WCTYPE_H = @ABSOLUTE_WCTYPE_H@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALLOCA_H = @ALLOCA_H@
@@ -240,6 +255,7 @@ DEFAULT_POSIX2_VERSION = @DEFAULT_POSIX2_VERSION@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DF_PROG = @DF_PROG@
DIRENT_H = @DIRENT_H@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -253,23 +269,103 @@ GETOPT_H = @GETOPT_H@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_DUP2 = @GNULIB_DUP2@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
GNULIB_GETCWD = @GNULIB_GETCWD@
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_IMAXABS = @GNULIB_IMAXABS@
GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
GNULIB_MBSCHR = @GNULIB_MBSCHR@
GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
GNULIB_MBSLEN = @GNULIB_MBSLEN@
GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
GNULIB_MBSSEP = @GNULIB_MBSSEP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
GNU_PACKAGE = @GNU_PACKAGE@
GREP = @GREP@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
HAVE_MKDTEMP = @HAVE_MKDTEMP@
HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
HAVE_READLINK = @HAVE_READLINK@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_STPCPY = @HAVE_STPCPY@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASECMP = @HAVE_STRCASECMP@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
HAVE_STRNDUP = @HAVE_STRNDUP@
HAVE_STRPBRK = @HAVE_STRPBRK@
HAVE_STRSEP = @HAVE_STRSEP@
HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
HAVE_WCTYPE_H = @HAVE_WCTYPE_H@
HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
HAVE__BOOL = @HAVE__BOOL@
HELP2MAN = @HELP2MAN@
INSTALL = @INSTALL@
@@ -289,6 +385,7 @@ LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIB_ACL = @LIB_ACL@
LIB_ACL_TRIVIAL = @LIB_ACL_TRIVIAL@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
LIB_CRYPT = @LIB_CRYPT@
LIB_EACCESS = @LIB_EACCESS@
@@ -323,6 +420,23 @@ PRIPTR_PREFIX = @PRIPTR_PREFIX@
PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_FCHDIR = @REPLACE_FCHDIR@
REPLACE_FPRINTF = @REPLACE_FPRINTF@
REPLACE_GETCWD = @REPLACE_GETCWD@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
REPLACE_PRINTF = @REPLACE_PRINTF@
REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
REPLACE_STRPTIME = @REPLACE_STRPTIME@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
REPLACE_VPRINTF = @REPLACE_VPRINTF@
REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
SEQ_LIBM = @SEQ_LIBM@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -333,11 +447,15 @@ STDINT_H = @STDINT_H@
STRIP = @STRIP@
SYS_SOCKET_H = @SYS_SOCKET_H@
SYS_STAT_H = @SYS_STAT_H@
SYS_TIME_H = @SYS_TIME_H@
SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
U = @U@
UNISTD_H = @UNISTD_H@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
WCHAR_H = @WCHAR_H@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WCTYPE_H = @WCTYPE_H@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
@@ -424,9 +542,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits doc/Makefile'; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnits doc/Makefile
$(AUTOMAKE) --gnu doc/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
File diff suppressed because it is too large Load Diff
+191 -60
View File
@@ -208,6 +208,7 @@ Common Options
* Exit status:: Indicating program success or failure.
* Backup options:: Backup options
* Block size:: Block size
* Disambiguating names and IDs:: chgrp and chown owner and group syntax
* Random sources:: Sources of random data
* Target directory:: Target directory
* Trailing slashes:: Trailing slashes
@@ -557,8 +558,8 @@ symbolic link to a directory. @xref{Target directory}.
@itemx --si
@opindex --si
@cindex SI output
Append an SI-style abbreviation to each size, such as @samp{MB} for
megabytes. Powers of 1000 are used, not 1024; @samp{MB} stands for
Append an SI-style abbreviation to each size, such as @samp{M} for
megabytes. Powers of 1000 are used, not 1024; @samp{M} stands for
1,000,000 bytes. This option is equivalent to
@option{--block-size=si}. Use the @option{-h} or
@option{--human-readable} option if
@@ -644,6 +645,7 @@ name.
* Exit status:: Indicating program success or failure.
* Backup options:: -b -S, in some programs.
* Block size:: BLOCK_SIZE and --block-size, in some programs.
* Disambiguating names and IDs:: chgrp and chown owner and group syntax
* Random sources:: --random-source, in some programs.
* Target directory:: Specifying a target directory, in some programs.
* Trailing slashes:: --strip-trailing-slashes, in some programs.
@@ -924,6 +926,46 @@ set. The @option{-h} or @option{--human-readable} option is equivalent to
@option{--block-size=human-readable}. The @option{--si} option is
equivalent to @option{--block-size=si}.
@node Disambiguating names and IDs
@section chown and chgrp: Disambiguating user names and IDs
@cindex user names, disambiguating
@cindex user IDs, disambiguating
@cindex group names, disambiguating
@cindex group IDs, disambiguating
@cindex disambiguating group names and IDs
Since the @var{owner} and @var{group} arguments to @command{chown} and
@command{chgrp} may be specified as names or numeric IDs, there is an
apparent ambiguity.
What if a user or group @emph{name} is a string of digits?
@footnote{Using a number as a user name is common in some environments.}
Should the command interpret it as a user name or as an ID?
@acronym{POSIX} requires that @command{chown} and @command{chgrp}
first attempt to resolve the specified string as a name, and
only once that fails, then try to interpret it as an ID.
This is troublesome when you want to specify a numeric ID, say 42,
and it must work even in a pathological situation where
@samp{42} is a user name that maps to some other user ID, say 1000.
Simply invoking @code{chown 42 F}, will set @file{F}s owner ID to
1000---not what you intended.
GNU @command{chown} and @command{chgrp} provide a way to work around this,
that at the same time may result in a significant performance improvement
by eliminating a database look-up.
Simply precede each numeric user ID and/or group ID with a @samp{+},
in order to force its interpretation as an integer:
@example
chown +42 F
chgrp +$numeric_group_id another-file
chown +0:+0 /
@end example
GNU @command{chown} and @command{chgrp}
skip the name look-up process for each @samp{+}-prefixed string,
because a string containing @samp{+} is never a valid user or group name.
This syntax is accepted on most common Unix systems, but not on Solaris 10.
@node Random sources
@section Sources of random data
@@ -1158,6 +1200,10 @@ to operate recursively on @file{/}, so they default to
option makes them safer for most purposes. For convenience you can
specify @option{--preserve-root} in an alias or in a shell function.
Note that the @option{--preserve-root} option also ensures
that @command{chgrp} and @command{chown} do not modify @file{/}
even when dereferencing a symlink pointing to @file{/}.
@node Special built-in utilities
@section Special built-in utilities
@@ -1845,7 +1891,8 @@ output will be the original data.
@opindex -i
@opindex --ignore-garbage
@cindex Ignore garbage in base64 stream
During decoding, ignore unrecognized characters (including newline),
When decoding, newlines are always accepted.
During decoding, ignore unrecognized bytes,
to permit distorted data to be decoded.
@end table
@@ -3156,6 +3203,10 @@ md5sum [@var{option}]@dots{} [@var{file}]@dots{}
For each @var{file}, @samp{md5sum} outputs the MD5 checksum, a flag
indicating a binary or text input file, and the file name.
If @var{file} contains a backslash or newline, the
line is started with a backslash, and each problematic character in
the file name is escaped with a backslash, making the output
unambiguous even in the presence of arbitrary file names.
If @var{file} is omitted or specified as @samp{-}, standard input is read.
The program accepts the following options. Also see @ref{Common options}.
@@ -3337,12 +3388,26 @@ mode:
@item -c
@itemx --check
@itemx --check=diagnose-first
@opindex -c
@opindex --check
@cindex checking for sortedness
Check whether the given files are already sorted: if they are not all
sorted, print an error message and exit with a status of 1.
Check whether the given file is already sorted: if it is not all
sorted, print a diagnostic containing the first out-of-order line and
exit with a status of 1.
Otherwise, exit successfully.
At most one input file can be given.
@item -C
@itemx --check=quiet
@itemx --check=silent
@opindex -c
@opindex --check
@cindex checking for sortedness
Exit successfully if the given file is already sorted, and
exit with status 1 otherwise.
At most one input file can be given.
This is like @option{-c}, except it does not print a diagnostic.
@item -m
@itemx --merge
@@ -3396,7 +3461,7 @@ Exit status:
@display
0 if no error occurred
1 if invoked with @option{-c} and the input is not properly sorted
1 if invoked with @option{-c} or @option{-C} and the input is not sorted
2 if an error occurred
@end display
@@ -3406,7 +3471,6 @@ value as the directory for temporary files instead of @file{/tmp}. The
@option{--temporary-directory} (@option{-T}) option in turn overrides
the environment variable.
The following options affect the ordering of output lines. They may be
specified globally or as part of a specific key field. If no key
fields are specified, global options apply to comparison of entire
@@ -3515,26 +3579,16 @@ can change this.
@opindex --numeric-sort
@cindex numeric sort
@vindex LC_NUMERIC
Sort numerically: the number begins each line; specifically, it consists
Sort numerically. The number begins each line and consists
of optional blanks, an optional @samp{-} sign, and zero or more
digits possibly separated by thousands separators, optionally followed
by a decimal-point character and zero or more digits. A string of
no digits is interpreted as @samp{0}. The @env{LC_NUMERIC}
by a decimal-point character and zero or more digits. An empty
number is treated as @samp{0}. The @env{LC_NUMERIC}
locale specifies the decimal-point character and thousands separator.
By default a blank is a space or a tab, but the @env{LC_CTYPE} locale
can change this.
Numeric sort uses what might be considered an unconventional method to
compare strings representing floating point numbers. Rather than first
converting each string to the C @code{double} type and then comparing
those values, @command{sort} aligns the decimal-point characters in the
two strings and compares the strings a character at a time. One benefit
of using this approach is its speed. In practice this is much more
efficient than performing the two corresponding string-to-double (or
even string-to-integer) conversions and then comparing doubles. In
addition, there is no corresponding loss of precision. Converting each
string to @code{double} before comparison would limit precision to about
16 digits on most systems.
Comparison is exact; there is no rounding error.
Neither a leading @samp{+} nor exponential notation is recognized.
To compare such strings numerically, use the
@@ -3573,6 +3627,18 @@ Other options are:
@table @samp
@item --compress-program=@var{prog}
Compress any temporary files with the program @var{prog}.
With no arguments, @var{prog} must compress standard input to standard
output, and when given the @option{-d} option it must decompress
standard input to standard output.
Terminate with an error if @var{prog} exits with nonzero status.
Whitespace and the backslash character should not appear in
@var{prog}; they are reserved for future use.
@item -k @var{pos1}[,@var{pos2}]
@itemx --key=@var{pos1}[,@var{pos2}]
@opindex -k
@@ -3580,9 +3646,21 @@ Other options are:
@cindex sort field
Specify a sort field that consists of the part of the line between
@var{pos1} and @var{pos2} (or the end of the line, if @var{pos2} is
omitted), @emph{inclusive}. Fields and character positions are numbered
starting with 1. So to sort on the second field, you'd use
@option{--key=2,2} (@option{-k 2,2}). See below for more examples.
omitted), @emph{inclusive}.
Each @var{pos} has the form @samp{@var{f}[.@var{c}][@var{opts}]},
where @var{f} is the number of the field to use, and @var{c} is the number
of the first character from the beginning of the field. Fields and character
positions are numbered starting with 1; a character position of zero in
@var{pos2} indicates the field's last character. If @samp{.@var{c}} is
omitted from @var{pos1}, it defaults to 1 (the beginning of the field);
if omitted from @var{pos2}, it defaults to 0 (the end of the field).
@var{opts} are ordering options, allowing individual keys to be sorted
according to different rules; see below for details. Keys can span
multiple fields.
Example: To sort on the second field, use @option{--key=2,2}
(@option{-k 2,2}). See below for more examples.
@item -o @var{output-file}
@itemx --output=@var{output-file}
@@ -3686,7 +3764,7 @@ disks and controllers.
@cindex uniquifying output
Normally, output only the first of a sequence of lines that compare
equal. For the @option{--check} (@option{-c}) option,
equal. For the @option{--check} (@option{-c} or @option{-C}) option,
check that no pair of consecutive lines compares equal.
This option also disables the default last-resort comparison.
@@ -3721,29 +3799,21 @@ consistency, @option{-M} has been changed in the same way. This may
affect the meaning of character positions in field specifications in
obscure cases. The only fix is to add an explicit @option{-b}.
A position in a sort field specified with the @option{-k}
option has the form @samp{@var{f}.@var{c}}, where @var{f} is the number
of the field to use and @var{c} is the number of the first character
from the beginning of the field. In a start position, an omitted
@samp{.@var{c}} stands for the field's first character. In an end
position, an omitted or zero @samp{.@var{c}} stands for the field's
last character. If the start field falls after the end of the line
or after the end field, the field is empty. If the
@option{-b} option was specified, the @samp{.@var{c}} part of a field
specification is counted from the first nonblank character of the field.
A sort key position may also have any of the option letters @samp{Mbdfinr}
appended to it, in which case the global ordering options are not used
for that particular field. The @option{-b} option may be independently
attached to either or both of the start and
end positions of a field specification, and if it is inherited
from the global options it will be attached to both.
A position in a sort field specified with @option{-k} may have any
of the option letters @samp{Mbdfinr} appended to it, in which case the
global ordering options are not used for that particular field. The
@option{-b} option may be independently attached to either or both of
the start and end positions of a field specification, and if it is
inherited from the global options it will be attached to both.
If input lines can contain leading or adjacent blanks and @option{-t}
is not used, then @option{-k} is typically combined with @option{-b},
@option{-g}, @option{-M}, or @option{-n}; otherwise the varying
numbers of leading blanks in fields can cause confusing results.
Keys can span multiple fields.
If the start position in a sort field specifier falls after the end of
the line or after the end field, the field is empty. If the @option{-b}
option was specified, the @samp{.@var{c}} part of a field specification
is counted from the first nonblank character of the field.
@vindex _POSIX2_VERSION
@vindex POSIXLY_CORRECT
@@ -4489,7 +4559,7 @@ Fold lower case letters to upper case for sorting.
@table @samp
@item -b @var{file}
@item --break-file=@var{file}
@itemx --break-file=@var{file}
This option provides an alternative (to @option{-W}) method of describing
which characters make up words. It introduces the name of a
@@ -6410,6 +6480,13 @@ Assume that each tab stop is @var{cols} columns wide. The default is 8.
@command{ls} uses tabs where possible in the output, for efficiency. If
@var{cols} is zero, do not use tabs at all.
@c FIXME: remove in 2009, if Apple Terminal has been fixed for long enough.
Some terminal emulators (at least Apple Terminal 1.5 (133) from Mac OS X 10.4.8)
do not properly align columns to the right of a TAB following a
non-@acronym{ASCII} byte. If you use such a terminal emulator, use the
@option{-T0} option or put @code{TABSIZE=0} in your environment to tell
@command{ls} to align using spaces, not tabs.
@item -w
@itemx --width=@var{cols}
@opindex -w
@@ -6947,7 +7024,13 @@ and ordinary users
may preserve the group ownership of a file only if they happen to be
a member of the desired group.
@itemx timestamps
Preserve the times of last access and last modification.
Preserve the times of last access and last modification, when possible.
In general, it is not possible to preserve these attributes
when the affected file is a symbolic link.
However, FreeBSD now provides the @code{lutimes} function, which makes
it possibile even for symbolic links. However, this implementation does
not yet take advantage of that.
@c FIXME: once we provide lutimes support, update the above.
@itemx links
Preserve in the destination files
any links between corresponding source files.
@@ -7151,25 +7234,33 @@ bytes (or the size specified with @samp{seek=}).
@opindex ibs
@cindex block size of input
@cindex input block size
Read @var{bytes} bytes at a time.
Set the input block size to @var{bytes}.
This makes @command{dd} read @var{bytes} per block.
@item obs=@var{bytes}
@opindex obs
@cindex block size of output
@cindex output block size
Write @var{bytes} bytes at a time.
Set the output block size to @var{bytes}.
This makes @command{dd} write @var{bytes} per block.
@item bs=@var{bytes}
@opindex bs
@cindex block size
Both read and write @var{bytes} bytes at a time. This overrides
@samp{ibs} and @samp{obs}.
Set both input and output block sizes to @var{bytes}.
This makes @command{dd} read and write @var{bytes} per block,
overriding any @samp{ibs} and @samp{obs} settings.
@item cbs=@var{bytes}
@opindex cbs
@cindex block size of conversion
@cindex conversion block size
Convert @var{bytes} bytes at a time.
@cindex fixed-length records, converting to variable-length
@cindex variable-length records, converting to fixed-length
Set the conversion block size to @var{bytes}.
When converting variable-length records to fixed-length ones
(@option{conv=block}) or the reverse (@option{conv=unblock}),
use @var{bytes} as the fixed record length.
@item skip=@var{blocks}
@opindex skip
@@ -7346,6 +7437,8 @@ Use non-blocking I/O.
@opindex noatime
@cindex access time
Do not update the file's access time.
Some older file systems silently ignore this flag, so it is a good
idea to test it on your files before relying on it.
@item noctty
@opindex noctty
@@ -8353,15 +8446,23 @@ overridden in this way.
@opindex -p
@opindex --parents
@cindex parent directories, creating
Make any missing parent directories for each argument. The file permission
bits of parent directories are set to the umask modified by @samp{u+wx}.
@xref{Directory Setuid and Setgid}, for how the set-user-ID and
set-group-ID bits of parent directories are inherited.
Ignore arguments corresponding to existing directories, and do not
change their file mode bits.
Make any missing parent directories for each argument, setting their
file permission bits to the umask modified by @samp{u+wx}. Ignore
existing parent directories, and do not change their file permission
bits.
To set the file permission bits of any newly-created parent
directories to a value that includes @samp{u+wx}, you can set the
umask before invoking @command{mkdir}. For example, if the shell
command @samp{(umask u=rwx,go=rx; mkdir -p P/Q)} creates the parent
@file{P} it sets the parent's permission bits to @samp{u=rwx,go=rx}.
To set a parent's special mode bits as well, you can invoke
@command{chmod} after @command{mkdir}. @xref{Directory Setuid and
Setgid}, for how the set-user-ID and set-group-ID bits of
newly-created parent directories are inherited.
@item -v
@item --verbose
@itemx --verbose
@opindex -v
@opindex --verbose
Print a message for each created directory. This is most useful with
@@ -8608,7 +8709,7 @@ a failure does not evoke a diagnostic and does not cause @command{rmdir} to
exit unsuccessfully.
@item -v
@item --verbose
@itemx --verbose
@opindex -v
@opindex --verbose
@cindex directory deletion, reporting
@@ -8727,6 +8828,10 @@ owner nor the group is changed.
@end table
If @var{owner} or @var{group} is intended to represent a numeric user
or group ID, then you may specify it with a leading @samp{+}.
@xref{Disambiguating names and IDs}.
Some older scripts may still use @samp{.} in place of the @samp{:} separator.
@acronym{POSIX} 1003.1-2001 (@pxref{Standards conformance}) does not
require support for that, but for backward compatibility @acronym{GNU}
@@ -8902,6 +9007,10 @@ or to the group of an existing reference file. Synopsis:
chgrp [@var{option}]@dots{} @{@var{group} | --reference=@var{ref_file}@} @var{file}@dots{}
@end example
If @var{group} is intended to represent a
numeric group ID, then you may specify it with a leading @samp{+}.
@xref{Disambiguating names and IDs}.
The program accepts the following options. Also see @ref{Common options}.
@table @samp
@@ -9151,7 +9260,7 @@ operations, for a user to change the ctime field to a user-specified value.
Time stamps assume the time zone rules specified by the @env{TZ}
environment variable, or by the system default rules if @env{TZ} is
not set. @xref{TZ Variable,, Specifying the Time Zone with @env{TZ},
libc, The GNU C Library}. You can avoid avoid ambiguities during
libc, The GNU C Library}. You can avoid ambiguities during
daylight saving transitions by using @sc{utc} time stamps.
The program accepts the following options. Also see @ref{Common options}.
@@ -9372,6 +9481,13 @@ some network mounts), the columns are misaligned.
@item
The labels in the header output line are changed to conform to @acronym{POSIX}.
@item
The default block size and output format are unaffected by the
@env{DF_BLOCK_SIZE}, @env{BLOCK_SIZE} and @env{BLOCKSIZE} environment
variables. However, the default block size is still affected by
@env{POSIXLY_CORRECT}: it is 512 if @env{POSIXLY_CORRECT} is set, 1024
otherwise. @xref{Block size}.
@end enumerate
@optSi
@@ -9799,7 +9915,7 @@ $ stat --format=%d:%i / /usr
@opindex --printf=@var{format}
@cindex output format
Use @var{format} rather than the default format.
Like like @option{--format}, but interpret backslash escapes,
Like @option{--format}, but interpret backslash escapes,
and do not output a mandatory trailing newline.
If you want a newline, include @samp{\n} in the @var{format}.
Here's how you would use @option{--printf} to print the device
@@ -13817,6 +13933,12 @@ Print all numbers using @var{format}.
@var{format} must contain exactly one of the @samp{printf}-style
floating point conversion specifications @samp{%a}, @samp{%e},
@samp{%f}, @samp{%g}, @samp{%A}, @samp{%E}, @samp{%F}, @samp{%G}.
The @samp{%} may be followed by zero or more flags taken from the set
@samp{-+#0 '}, then an optional width containing one or more digits,
then an optional precision consisting of a @samp{.} followed by zero
or more digits. @var{format} may also contain any number of @samp{%%}
conversion specifications. All conversion specifications have the
same meaning as with @samp{printf}.
The default format is derived from @var{first}, @var{step}, and
@var{last}. If these all use a fixed point decimal representation,
@@ -13839,6 +13961,15 @@ decimal representation.
@end table
You can get finer-grained control over output with @option{-f}:
@example
$ seq -f '(%9.2E)' -9e5 1.1e6 1.3e6
(-9.00E+05)
( 2.00E+05)
( 1.30E+06)
@end example
If you want hexadecimal integer output, you can use @command{printf}
to perform the conversion:
+4 -4
View File
@@ -1,4 +1,4 @@
@set UPDATED 27 October 2006
@set UPDATED-MONTH October 2006
@set EDITION 6.7
@set VERSION 6.7
@set UPDATED 22 March 2007
@set UPDATED-MONTH March 2007
@set EDITION 6.9
@set VERSION 6.9
+4 -4
View File
@@ -1,4 +1,4 @@
@set UPDATED 27 October 2006
@set UPDATED-MONTH October 2006
@set EDITION 6.7
@set VERSION 6.7
@set UPDATED 22 March 2007
@set UPDATED-MONTH March 2007
@set EDITION 6.9
@set VERSION 6.9
+49
View File
@@ -1,3 +1,52 @@
2007-03-20 Jim Meyering <[email protected]>
Fix a typo in the handling of %x and %X.
* vasnprintf.c (VASNPRINTF): When adding 2 to buffer length,
don't double it.
2007-03-04 Jim Meyering <[email protected]>
* vasnprintf.c (VASNPRINTF): Add missing semicolon.
2007-03-02 Jim Meyering <[email protected]>
* vasnprintf.c (VASNPRINTF): Remove cast of alloca return value.
2007-03-01 Jim Meyering <[email protected]>
Merge in changes from gnulib:
* vasnprintf.c: Add a comment explaining why coreutils has its own
version of this file.
Include <stdint.h>.
(SIZE_MAX): Remove definition (now, stdint.h covers that).
(EOVERFLOW): Remove definition (now done via the eoverflow module).
Update some #ifdef to #if.
Use HAVE_LONG_LONG_INT, not HAVE_LONG_LONG.
* printf-parse.c: Likewise.
2007-02-28 Jim Meyering <[email protected]>
* tsearch.c: Remove unused file.
2007-02-23 Jim Meyering <[email protected]>
* randperm.c (randperm_new): Comment: say that this function
returns a pointer to malloc'd storage.
2007-02-18 Jim Meyering <[email protected]>
* xfts.c: Include <stdlib.h> rather than exit.h, now that stdlib.h
is guaranteed to provide a valid definition of EXIT_FAILURE.
2007-01-19 Jim Meyering <[email protected]>
* .cvsignore, .gitignore: Add sys, as well as more
bootstrap-inserted file names.
2007-01-14 Jim Meyering <[email protected]>
* fchdir-stub.c: Remove file. No longer needed.
2006-12-03 Jim Meyering <[email protected]>
* Makefile.am (libcoreutils_a_SOURCES): Remove xmemcoll.c and
+5 -1
View File
@@ -21,6 +21,7 @@ StaticLibrary libfetish.a :
base64.c
basename.c
buffer-lcm.c
c-strcasecmp.c
c-strtod.c
c-strtold.c
calloc.c
@@ -45,6 +46,7 @@ StaticLibrary libfetish.a :
exitfail.c
# fchdir-stub.c
fchmodat.c
fchownat.c
# fchown-stub.c
fd-reopen.c
fd-safer.c
@@ -92,6 +94,7 @@ StaticLibrary libfetish.a :
# lstat-stub.c
# lstat.c
# malloc.c
mbscasecmp.c
mbswidth.c
md5.c
memcasecmp.c
@@ -110,6 +113,7 @@ StaticLibrary libfetish.a :
# mkstemp.c
mkstemp-safer.c
mktime.c
mpsort.c
modechange.c
# mountlist.c
nanosleep.c
@@ -153,7 +157,6 @@ StaticLibrary libfetish.a :
sha512.c
sig2str.c
# stpcpy.c
strcasecmp.c
# strcspn.c
# strdup.c
strftime.c
@@ -194,6 +197,7 @@ StaticLibrary libfetish.a :
xmemxfrm.c
xnanosleep.c
xreadlink.c
xreadlink-with-size.c
xstrndup.c
xstrtod.c
xstrtoimax.c
+488 -162
View File
@@ -16,7 +16,7 @@
# Copyright (C) 1995-2006 Free Software Foundation, Inc.
# Copyright (C) 2004-2006 Free Software Foundation, Inc.
# Copyright (C) 2004-2007 Free Software Foundation, Inc.
#
# This file is free software, distributed under the terms of the GNU
# General Public License. As a special exception to the GNU General
@@ -25,7 +25,7 @@
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libcoreutils --source-base=.#bootmp/lib --m4-base=.#bootmp/m4 --doc-base=.#bootmp/doc --aux-dir=.#bootmp/build-aux --avoid=lock --avoid=size_max --avoid=xsize --no-libtool --macro-prefix=gl acl alloca argmatch assert atexit backupfile base64 c-strtod c-strtold calloc canon-host canonicalize chown cloexec closeout config-h configmake cycle-check d-ino d-type diacrit dirfd dirname dup2 error euidaccess exclude exitfail fcntl fcntl-safer fdl file-type fileblocks filemode filenamecat fnmatch-gnu fopen-safer fprintftime free fsusage ftruncate fts getdate getgroups gethrxtime getline getloadavg getndelim2 getopt getpagesize getpass-gnu gettext gettime gettimeofday getugroups getusershell gnupload group-member hard-locale hash hash-pjw host-os human idcache inttostr inttypes isapipe lchmod lchown lib-ignore linebuffer link-follow long-options lstat malloc mbswidth md5 memcasecmp memchr memcmp memcpy memmove mempcpy memrchr memset mkancesdirs mkdir mkdir-p mkstemp mktime modechange mountlist obstack pathmax perl physmem posixtm posixver putenv quote quotearg raise readlink readtokens readtokens0 readutmp realloc regex rename rename-dest-slash rmdir rmdir-errno root-dev-ino rpmatch safe-read same save-cwd savedir savewd settime sha1 sig2str ssize_t stat-macros stat-time stdbool stdlib-safer stpcpy strcase strcspn strftime strpbrk strtod strtoimax strtol strtoumax strverscmp sys_stat timespec tzset unicodeio unistd-safer unlink-busy unlinkdir unlocked-io uptime userspec utime utimecmp utimens vasprintf verify version-etc-fsf wcwidth winsz-ioctl winsz-termios xalloc xgetcwd xgethostname xmemcoll xnanosleep xreadlink xstrtod xstrtoimax xstrtol xstrtold xstrtoumax yesno
# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libcoreutils --source-base=lib --m4-base=m4 --doc-base=doc --aux-dir=build-aux --avoid=lock --avoid=size_max --avoid=xsize --avoid=canonicalize-lgpl --no-libtool --macro-prefix=gl acl alloca announce-gen argmatch assert atexit backupfile base64 c-strcase c-strtod c-strtold calloc canon-host canonicalize chown cloexec closeout config-h configmake cycle-check d-ino d-type diacrit dirfd dirname dup2 error euidaccess exclude exitfail fchdir fcntl fcntl-safer fdl file-type fileblocks filemode filenamecat fnmatch-gnu fopen-safer fprintftime free fsusage ftruncate fts getdate getgroups gethrxtime getline getloadavg getndelim2 getopt getpagesize getpass-gnu gettext gettime gettimeofday getugroups getusershell gnupload group-member hard-locale hash hash-pjw host-os human idcache inttostr inttypes isapipe lchmod lchown lib-ignore linebuffer link-follow long-options lstat malloc mbswidth md5 memcasecmp memchr memcmp memcpy memmove mempcpy memrchr memset mkancesdirs mkdir mkdir-p mkstemp mktime modechange mountlist mpsort obstack pathmax perl physmem posixtm posixver putenv quote quotearg raise readlink readtokens readtokens0 readutmp realloc regex rename rename-dest-slash rmdir rmdir-errno root-dev-ino rpmatch safe-read same save-cwd savedir savewd settime sha1 sig2str ssize_t stat-macros stat-time stdbool stdlib-safer stpcpy strcspn strftime strpbrk strtod strtoimax strtol strtoumax strverscmp sys_stat timespec tzset unicodeio unistd-safer unlink-busy unlinkdir unlocked-io uptime userspec utime utimecmp utimens vasprintf verify version-etc-fsf wcwidth winsz-ioctl winsz-termios xalloc xgetcwd xgethostname xmemcoll xnanosleep xreadlink xreadlink-with-size xstrtod xstrtoimax xstrtol xstrtold xstrtoumax yesno
@@ -51,11 +51,11 @@ host_triplet = @host@
DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.hin $(srcdir)/gnulib.mk \
ChangeLog TODO alloca.c euidaccess-stat.c euidaccess-stat.h \
fchdir-stub.c fd-reopen.c fd-reopen.h getdate.c memxfrm.c \
memxfrm.h rand-isaac.c rand-isaac.h randint.c randint.h \
randperm.c randperm.h randread.c randread.h sha256.c sha256.h \
sha512.c sha512.h strintcmp.c strnumcmp-in.h strnumcmp.c \
strnumcmp.h u64.h xfts.c xfts.h
fd-reopen.c fd-reopen.h getdate.c memxfrm.c memxfrm.h \
rand-isaac.c rand-isaac.h randint.c randint.h randperm.c \
randperm.h randread.c randread.h sha256.c sha256.h sha512.c \
sha512.h strintcmp.c strnumcmp-in.h strnumcmp.c strnumcmp.h \
u64.h xfts.c xfts.h
noinst_PROGRAMS = t-fpending$(EXEEXT)
subdir = lib
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -82,15 +82,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/absolute-header.m4 \
$(top_srcdir)/m4/euidaccess-stat.m4 \
$(top_srcdir)/m4/euidaccess.m4 $(top_srcdir)/m4/exclude.m4 \
$(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.m4 \
$(top_srcdir)/m4/fcntl-safer.m4 $(top_srcdir)/m4/fcntl_h.m4 \
$(top_srcdir)/m4/fd-reopen.m4 $(top_srcdir)/m4/file-type.m4 \
$(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filemode.m4 \
$(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/flexmember.m4 \
$(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \
$(top_srcdir)/m4/fprintftime.m4 $(top_srcdir)/m4/free.m4 \
$(top_srcdir)/m4/fstypename.m4 $(top_srcdir)/m4/fsusage.m4 \
$(top_srcdir)/m4/ftruncate.m4 $(top_srcdir)/m4/fts.m4 \
$(top_srcdir)/m4/getaddrinfo.m4 \
$(top_srcdir)/m4/fchdir.m4 $(top_srcdir)/m4/fcntl-safer.m4 \
$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fd-reopen.m4 \
$(top_srcdir)/m4/file-type.m4 $(top_srcdir)/m4/fileblocks.m4 \
$(top_srcdir)/m4/filemode.m4 $(top_srcdir)/m4/filenamecat.m4 \
$(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/fnmatch.m4 \
$(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fprintftime.m4 \
$(top_srcdir)/m4/free.m4 $(top_srcdir)/m4/fstypename.m4 \
$(top_srcdir)/m4/fsusage.m4 $(top_srcdir)/m4/ftruncate.m4 \
$(top_srcdir)/m4/fts.m4 $(top_srcdir)/m4/getaddrinfo.m4 \
$(top_srcdir)/m4/getcwd-abort-bug.m4 \
$(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
$(top_srcdir)/m4/getdate.m4 $(top_srcdir)/m4/getdelim.m4 \
@@ -102,6 +102,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/absolute-header.m4 \
$(top_srcdir)/m4/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
$(top_srcdir)/m4/getugroups.m4 \
$(top_srcdir)/m4/getusershell.m4 $(top_srcdir)/m4/glibc21.m4 \
$(top_srcdir)/m4/gnulib-common.m4 \
$(top_srcdir)/m4/gnulib-comp.m4 \
$(top_srcdir)/m4/group-member.m4 \
$(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/hash.m4 \
@@ -122,17 +123,18 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/absolute-header.m4 \
$(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/ls-mntd-fs.m4 $(top_srcdir)/m4/lstat.m4 \
$(top_srcdir)/m4/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \
$(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbstate_t.m4 \
$(top_srcdir)/m4/mbswidth.m4 $(top_srcdir)/m4/md5.m4 \
$(top_srcdir)/m4/memcasecmp.m4 $(top_srcdir)/m4/memchr.m4 \
$(top_srcdir)/m4/memcmp.m4 $(top_srcdir)/m4/memcoll.m4 \
$(top_srcdir)/m4/memcpy.m4 $(top_srcdir)/m4/memmove.m4 \
$(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \
$(top_srcdir)/m4/memset.m4 $(top_srcdir)/m4/memxfrm.m4 \
$(top_srcdir)/m4/mkancesdirs.m4 $(top_srcdir)/m4/mkdir-p.m4 \
$(top_srcdir)/m4/mkdir-slash.m4 $(top_srcdir)/m4/mkstemp.m4 \
$(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/modechange.m4 \
$(top_srcdir)/m4/mountlist.m4 $(top_srcdir)/m4/nanosleep.m4 \
$(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbscasecmp.m4 \
$(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbswidth.m4 \
$(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memcasecmp.m4 \
$(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/memcmp.m4 \
$(top_srcdir)/m4/memcoll.m4 $(top_srcdir)/m4/memcpy.m4 \
$(top_srcdir)/m4/memmove.m4 $(top_srcdir)/m4/mempcpy.m4 \
$(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/memset.m4 \
$(top_srcdir)/m4/memxfrm.m4 $(top_srcdir)/m4/mkancesdirs.m4 \
$(top_srcdir)/m4/mkdir-p.m4 $(top_srcdir)/m4/mkdir-slash.m4 \
$(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \
$(top_srcdir)/m4/modechange.m4 $(top_srcdir)/m4/mountlist.m4 \
$(top_srcdir)/m4/mpsort.m4 $(top_srcdir)/m4/nanosleep.m4 \
$(top_srcdir)/m4/netinet_in_h.m4 $(top_srcdir)/m4/nls.m4 \
$(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/pathmax.m4 \
$(top_srcdir)/m4/perl.m4 $(top_srcdir)/m4/physmem.m4 \
@@ -159,18 +161,20 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/absolute-header.m4 \
$(top_srcdir)/m4/stat-prog.m4 $(top_srcdir)/m4/stat-time.m4 \
$(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.m4 \
$(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \
$(top_srcdir)/m4/stdio-safer.m4 \
$(top_srcdir)/m4/stdlib-safer.m4 $(top_srcdir)/m4/stpcpy.m4 \
$(top_srcdir)/m4/strcase.m4 $(top_srcdir)/m4/strcspn.m4 \
$(top_srcdir)/m4/stdio-safer.m4 $(top_srcdir)/m4/stdio_h.m4 \
$(top_srcdir)/m4/stdlib-safer.m4 $(top_srcdir)/m4/stdlib_h.m4 \
$(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcspn.m4 \
$(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strftime.m4 \
$(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
$(top_srcdir)/m4/strnumcmp.m4 $(top_srcdir)/m4/strpbrk.m4 \
$(top_srcdir)/m4/strtod.m4 $(top_srcdir)/m4/strtoimax.m4 \
$(top_srcdir)/m4/strtol.m4 $(top_srcdir)/m4/strtoll.m4 \
$(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \
$(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/strverscmp.m4 \
$(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
$(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strnumcmp.m4 \
$(top_srcdir)/m4/strpbrk.m4 $(top_srcdir)/m4/strtod.m4 \
$(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \
$(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \
$(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.m4 \
$(top_srcdir)/m4/strverscmp.m4 \
$(top_srcdir)/m4/sys_socket_h.m4 \
$(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/tempname.m4 \
$(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
$(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
$(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
$(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/tzset.m4 \
$(top_srcdir)/m4/unicodeio.m4 $(top_srcdir)/m4/unistd-safer.m4 \
@@ -181,13 +185,13 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/absolute-header.m4 \
$(top_srcdir)/m4/utimecmp.m4 $(top_srcdir)/m4/utimens.m4 \
$(top_srcdir)/m4/utimes-null.m4 $(top_srcdir)/m4/utimes.m4 \
$(top_srcdir)/m4/vasnprintf.m4 $(top_srcdir)/m4/vasprintf.m4 \
$(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wcwidth.m4 \
$(top_srcdir)/m4/wchar.m4 $(top_srcdir)/m4/wchar_t.m4 \
$(top_srcdir)/m4/wctype.m4 $(top_srcdir)/m4/wcwidth.m4 \
$(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xalloc.m4 \
$(top_srcdir)/m4/xfts.m4 $(top_srcdir)/m4/xgetcwd.m4 \
$(top_srcdir)/m4/xnanosleep.m4 $(top_srcdir)/m4/xreadlink.m4 \
$(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtod.m4 \
$(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/m4/yesno.m4 \
$(top_srcdir)/configure.ac
$(top_srcdir)/m4/xnanosleep.m4 $(top_srcdir)/m4/xstrndup.m4 \
$(top_srcdir)/m4/xstrtod.m4 $(top_srcdir)/m4/xstrtol.m4 \
$(top_srcdir)/m4/yesno.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
@@ -199,15 +203,17 @@ ARFLAGS = cru
libcoreutils_a_AR = $(AR) $(ARFLAGS)
am__DEPENDENCIES_1 =
am_libcoreutils_a_OBJECTS = allocsa.$(OBJEXT) base64.$(OBJEXT) \
diacrit.$(OBJEXT) full-read.$(OBJEXT) full-write.$(OBJEXT) \
getdate.$(OBJEXT) hash-pjw.$(OBJEXT) linebuffer.$(OBJEXT) \
localcharset.$(OBJEXT) mbswidth.$(OBJEXT) \
readtokens0.$(OBJEXT) savewd.$(OBJEXT) strnlen1.$(OBJEXT) \
unicodeio.$(OBJEXT) version-etc.$(OBJEXT) \
version-etc-fsf.$(OBJEXT) xalloc-die.$(OBJEXT) \
xgethostname.$(OBJEXT) xmemcoll.$(OBJEXT) xstrndup.$(OBJEXT) \
xstrtoimax.$(OBJEXT) xstrtoumax.$(OBJEXT) buffer-lcm.$(OBJEXT) \
xmemxfrm.$(OBJEXT)
c-ctype.$(OBJEXT) c-strcasecmp.$(OBJEXT) \
c-strncasecmp.$(OBJEXT) diacrit.$(OBJEXT) full-read.$(OBJEXT) \
full-write.$(OBJEXT) getdate.$(OBJEXT) hash-pjw.$(OBJEXT) \
linebuffer.$(OBJEXT) localcharset.$(OBJEXT) mbchar.$(OBJEXT) \
mbscasecmp.$(OBJEXT) mbswidth.$(OBJEXT) readtokens0.$(OBJEXT) \
savewd.$(OBJEXT) strnlen1.$(OBJEXT) unicodeio.$(OBJEXT) \
version-etc.$(OBJEXT) version-etc-fsf.$(OBJEXT) \
xalloc-die.$(OBJEXT) xgethostname.$(OBJEXT) xmemcoll.$(OBJEXT) \
xreadlink.$(OBJEXT) xreadlink-with-size.$(OBJEXT) \
xstrndup.$(OBJEXT) xstrtoimax.$(OBJEXT) xstrtoumax.$(OBJEXT) \
buffer-lcm.$(OBJEXT) xmemxfrm.$(OBJEXT)
libcoreutils_a_OBJECTS = $(am_libcoreutils_a_OBJECTS)
LTLIBRARIES = $(noinst_LTLIBRARIES)
PROGRAMS = $(noinst_PROGRAMS)
@@ -232,10 +238,21 @@ HEADERS = $(noinst_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ABSOLUTE_DIRENT_H = @ABSOLUTE_DIRENT_H@
ABSOLUTE_FCNTL_H = @ABSOLUTE_FCNTL_H@
ABSOLUTE_INTTYPES_H = @ABSOLUTE_INTTYPES_H@
ABSOLUTE_NETINET_IN_H = @ABSOLUTE_NETINET_IN_H@
ABSOLUTE_STDINT_H = @ABSOLUTE_STDINT_H@
ABSOLUTE_STDIO_H = @ABSOLUTE_STDIO_H@
ABSOLUTE_STDLIB_H = @ABSOLUTE_STDLIB_H@
ABSOLUTE_STRING_H = @ABSOLUTE_STRING_H@
ABSOLUTE_SYS_SOCKET_H = @ABSOLUTE_SYS_SOCKET_H@
ABSOLUTE_SYS_STAT_H = @ABSOLUTE_SYS_STAT_H@
ABSOLUTE_SYS_TIME_H = @ABSOLUTE_SYS_TIME_H@
ABSOLUTE_TIME_H = @ABSOLUTE_TIME_H@
ABSOLUTE_UNISTD_H = @ABSOLUTE_UNISTD_H@
ABSOLUTE_WCHAR_H = @ABSOLUTE_WCHAR_H@
ABSOLUTE_WCTYPE_H = @ABSOLUTE_WCTYPE_H@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALLOCA_H = @ALLOCA_H@
@@ -260,6 +277,7 @@ DEFAULT_POSIX2_VERSION = @DEFAULT_POSIX2_VERSION@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DF_PROG = @DF_PROG@
DIRENT_H = @DIRENT_H@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
@@ -273,23 +291,103 @@ GETOPT_H = @GETOPT_H@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_DUP2 = @GNULIB_DUP2@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
GNULIB_GETCWD = @GNULIB_GETCWD@
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_IMAXABS = @GNULIB_IMAXABS@
GNULIB_IMAXDIV = @GNULIB_IMAXDIV@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
GNULIB_MBSCHR = @GNULIB_MBSCHR@
GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
GNULIB_MBSLEN = @GNULIB_MBSLEN@
GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
GNULIB_MBSSEP = @GNULIB_MBSSEP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRTOIMAX = @GNULIB_STRTOIMAX@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
GNULIB_STRTOUMAX = @GNULIB_STRTOUMAX@
GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
GNU_PACKAGE = @GNU_PACKAGE@
GREP = @GREP@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
HAVE_DECL_STRNCASECMP = @HAVE_DECL_STRNCASECMP@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
HAVE_MKDTEMP = @HAVE_MKDTEMP@
HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
HAVE_READLINK = @HAVE_READLINK@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_STPCPY = @HAVE_STPCPY@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASECMP = @HAVE_STRCASECMP@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
HAVE_STRNDUP = @HAVE_STRNDUP@
HAVE_STRPBRK = @HAVE_STRPBRK@
HAVE_STRSEP = @HAVE_STRSEP@
HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
HAVE_WCTYPE_H = @HAVE_WCTYPE_H@
HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
HAVE__BOOL = @HAVE__BOOL@
HELP2MAN = @HELP2MAN@
INSTALL = @INSTALL@
@@ -309,6 +407,7 @@ LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@ $(POW_LIB)
LIB_ACL = @LIB_ACL@
LIB_ACL_TRIVIAL = @LIB_ACL_TRIVIAL@
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
LIB_CRYPT = @LIB_CRYPT@
LIB_EACCESS = @LIB_EACCESS@
@@ -343,6 +442,23 @@ PRIPTR_PREFIX = @PRIPTR_PREFIX@
PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_FCHDIR = @REPLACE_FCHDIR@
REPLACE_FPRINTF = @REPLACE_FPRINTF@
REPLACE_GETCWD = @REPLACE_GETCWD@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
REPLACE_PRINTF = @REPLACE_PRINTF@
REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
REPLACE_STRPTIME = @REPLACE_STRPTIME@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
REPLACE_VPRINTF = @REPLACE_VPRINTF@
REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
SEQ_LIBM = @SEQ_LIBM@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
@@ -353,11 +469,15 @@ STDINT_H = @STDINT_H@
STRIP = @STRIP@
SYS_SOCKET_H = @SYS_SOCKET_H@
SYS_STAT_H = @SYS_STAT_H@
SYS_TIME_H = @SYS_TIME_H@
SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
U = @U@
UNISTD_H = @UNISTD_H@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
WCHAR_H = @WCHAR_H@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WCTYPE_H = @WCTYPE_H@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
@@ -418,78 +538,83 @@ AUTOMAKE_OPTIONS = 1.5 gnits
noinst_HEADERS =
noinst_LIBRARIES = libcoreutils.a
noinst_LTLIBRARIES =
EXTRA_DIST = acl.c acl.h alloca.c alloca_.h allocsa.valgrind \
argmatch.c argmatch.h atexit.c backupfile.c backupfile.h \
c-strtod.c c-strtod.h c-strtod.c c-strtod.h c-strtold.c \
calloc.c canon-host.c canon-host.h canonicalize.c \
canonicalize.h pathmax.h chdir-long.c chdir-long.h chown.c \
fchown-stub.c cloexec.c cloexec.h close-stream.c \
close-stream.h closeout.c closeout.h cycle-check.c \
cycle-check.h dev-ino.h dirfd.c dirfd.h basename.c dirname.c \
dirname.h stripslash.c dup2.c error.c error.h euidaccess.c \
euidaccess.h exclude.c exclude.h exitfail.c exitfail.h \
fcntl_.h creat-safer.c fcntl--.h fcntl-safer.h open-safer.c \
file-type.c file-type.h fileblocks.c filemode.c filemode.h \
filenamecat.c filenamecat.h fnmatch.c fnmatch_.h \
fnmatch_loop.c fopen-safer.c stdio--.h stdio-safer.h \
__fpending.c __fpending.h fprintftime.c fprintftime.h free.c \
fsusage.c fsusage.h ftruncate.c fts-cycle.c fts.c fts_.h \
gai_strerror.c getaddrinfo.c getaddrinfo.h getcwd.c getcwd.h \
getdate.c getdate.h getdelim.c getdelim.h getgroups.c \
gethostname.c gethrxtime.c gethrxtime.h xtime.h getline.c \
getline.h getloadavg.c getndelim2.c getndelim2.h getopt.c \
getopt1.c getopt_.h getopt_int.h getpagesize.h getpass.c \
getpass.h gettime.c gettimeofday.c getugroups.c getusershell.c \
group-member.c group-member.h hard-locale.c hard-locale.h \
hash.c hash.h human.c human.h i-ring.c i-ring.h idcache.c \
inet_ntop.c inet_ntop.h intprops.h imaxtostr.c inttostr.c \
inttostr.h offtostr.c uinttostr.c umaxtostr.c inttypes_.h \
isapipe.c isapipe.h lchmod.h lchown.c lchown.h config.charset \
EXTRA_DIST = acl-internal.h acl.c acl.h acl_entries.c file-has-acl.c \
alloca.c alloca_.h allocsa.valgrind argmatch.c argmatch.h \
atexit.c backupfile.c backupfile.h c-strtod.c c-strtod.h \
c-strtod.c c-strtod.h c-strtold.c calloc.c canon-host.c \
canon-host.h canonicalize.c canonicalize.h pathmax.h \
chdir-long.c chdir-long.h chown.c fchown-stub.c cloexec.c \
cloexec.h close-stream.c close-stream.h closeout.c closeout.h \
cycle-check.c cycle-check.h dev-ino.h dirfd.c dirfd.h \
basename.c dirname.c dirname.h stripslash.c dup2.c error.c \
error.h euidaccess.c euidaccess.h exclude.c exclude.h \
exitfail.c exitfail.h dirent_.h fchdir.c fcntl_.h \
creat-safer.c fcntl--.h fcntl-safer.h open-safer.c file-type.c \
file-type.h fileblocks.c filemode.c filemode.h filenamecat.c \
filenamecat.h fnmatch.c fnmatch_.h fnmatch_loop.c \
fopen-safer.c stdio--.h stdio-safer.h __fpending.c \
__fpending.h fprintftime.c fprintftime.h free.c fsusage.c \
fsusage.h ftruncate.c fts-cycle.c fts.c fts_.h gai_strerror.c \
getaddrinfo.c getaddrinfo.h getcwd.c getdate.c getdate.h \
getdelim.c getdelim.h getgroups.c gethostname.c gethrxtime.c \
gethrxtime.h xtime.h getline.c getline.h getloadavg.c \
getndelim2.c getndelim2.h getopt.c getopt1.c getopt_.h \
getopt_int.h getpagesize.h getpass.c getpass.h gettime.c \
gettimeofday.c getugroups.c getusershell.c group-member.c \
group-member.h hard-locale.c hard-locale.h hash.c hash.h \
human.c human.h i-ring.c i-ring.h idcache.c inet_ntop.c \
inet_ntop.h intprops.h imaxtostr.c inttostr.c inttostr.h \
offtostr.c uinttostr.c umaxtostr.c inttypes_.h isapipe.c \
isapipe.h lchmod.h lchown.c lchown.h config.charset \
ref-add.sin ref-del.sin long-options.c long-options.h lstat.c \
lstat.h malloc.c mbchar.c mbchar.h md5.c md5.h memcasecmp.c \
lstat.h malloc.c mbchar.h md5.c md5.h memcasecmp.c \
memcasecmp.h memchr.c memcmp.c memcoll.c memcoll.h memcpy.c \
memmove.c mempcpy.c mempcpy.h memrchr.c memrchr.h memset.c \
mkancesdirs.c mkancesdirs.h mkdir.c dirchownmod.c \
dirchownmod.h mkdir-p.c mkdir-p.h mkstemp.c mkstemp.h mktime.c \
modechange.c modechange.h mountlist.c mountlist.h nanosleep.c \
obstack.c obstack.h at-func.c fchmodat.c fstatat.c mkdirat.c \
openat-die.c openat-priv.h openat-proc.c openat.c openat.h \
pathmax.h physmem.c physmem.h posixtm.c posixtm.h posixver.c \
posixver.h putenv.c quote.c quote.h quotearg.c quotearg.h \
raise.c readlink.c readtokens.c readtokens.h readutmp.c \
readutmp.h realloc.c regcomp.c regex.c regex.h \
regex_internal.c regex_internal.h regexec.c rename.c \
memmove.c mempcpy.c memrchr.c memset.c mkancesdirs.c \
mkancesdirs.h mkdir.c dirchownmod.c dirchownmod.h mkdir-p.c \
mkdir-p.h mkstemp.c mktime.c modechange.c modechange.h \
mountlist.c mountlist.h mpsort.c mpsort.h nanosleep.c \
netinet_in_.h obstack.c obstack.h at-func.c fchmodat.c \
fchownat.c fstatat.c mkdirat.c openat-die.c openat-priv.h \
openat-proc.c openat.c openat.h pathmax.h physmem.c physmem.h \
posixtm.c posixtm.h posixver.c posixver.h putenv.c quote.c \
quote.h quotearg.c quotearg.h raise.c readlink.c readtokens.c \
readtokens.h readutmp.c readutmp.h realloc.c regcomp.c regex.c \
regex.h regex_internal.c regex_internal.h regexec.c rename.c \
rename-dest-slash.c rmdir.c root-dev-ino.c root-dev-ino.h \
rpmatch.c safe-read.c safe-read.h safe-write.c safe-write.h \
same.c same.h same-inode.h save-cwd.c save-cwd.h savedir.c \
savedir.h setenv.c setenv.h unsetenv.c settime.c sha1.c sha1.h \
sig2str.c sig2str.h snprintf.c snprintf.h stat-macros.h \
stat-time.h stdbool_.h stdint_.h mkstemp-safer.c stdlib--.h \
stdlib-safer.h stpcpy.c stpcpy.h strcase.h strcasecmp.c \
strncasecmp.c strcspn.c strdup.c strdup.h strftime.c \
strftime.h strndup.c strndup.h strnlen.c strnlen.h strpbrk.c \
strpbrk.h strtod.c strtoimax.c strtol.c strtoll.c strtoul.c \
strtoull.c strtoumax.c strverscmp.c strverscmp.h socket_.h \
stat_.h tempname.c tempname.h time_r.c time_r.h timespec.h \
dup-safer.c fd-safer.c pipe-safer.c unistd--.h unistd-safer.h \
unlinkdir.c unlinkdir.h unlocked-io.h inttostr.h userspec.c \
userspec.h utime.c utimecmp.c utimecmp.h utimens.c utimens.h \
asnprintf.c printf-args.c printf-args.h printf-parse.c \
printf-parse.h vasnprintf.c vasnprintf.h asprintf.c \
vasprintf.c vasprintf.h xalloc.h xmalloc.c xgetcwd.c xgetcwd.h \
xnanosleep.c xnanosleep.h xreadlink.c xreadlink.h xstrtod.c \
xstrtod.h xstrtol.c xstrtol.h xstrtoul.c xstrtod.c xstrtod.h \
xstrtold.c yesno.c yesno.h
BUILT_SOURCES = $(ALLOCA_H) $(ARPA_INET_H) configmake.h $(FCNTL_H) \
$(FNMATCH_H) getdate.c $(GETOPT_H) $(INTTYPES_H) \
$(NETINET_IN_H) $(STDBOOL_H) $(STDINT_H) $(SYS_SOCKET_H) \
$(SYS_STAT_H) $(UNISTD_H)
sig2str.c sig2str.h snprintf.c stat-macros.h stat-time.h \
stdbool_.h stdint_.h stdio_.h stdlib_.h mkstemp-safer.c \
stdlib--.h stdlib-safer.h stpcpy.c strcspn.c strdup.c \
strftime.c strftime.h string_.h strndup.c strnlen.c strpbrk.c \
strtod.c strtoimax.c strtol.c strtoll.c strtoul.c strtoull.c \
strtoumax.c strverscmp.c strverscmp.h socket_.h stat_.h \
sys_time_.h tempname.c tempname.h time_.h time_r.c timespec.h \
unistd_.h dup-safer.c fd-safer.c pipe-safer.c unistd--.h \
unistd-safer.h unlinkdir.c unlinkdir.h unlocked-io.h \
inttostr.h userspec.c userspec.h utime.c utimecmp.c utimecmp.h \
utimens.c utimens.h asnprintf.c printf-args.c printf-args.h \
printf-parse.c printf-parse.h vasnprintf.c vasnprintf.h \
asprintf.c vasprintf.c vasprintf.h wchar_.h wctype_.h xalloc.h \
xmalloc.c xgetcwd.c xgetcwd.h xnanosleep.c xnanosleep.h \
xreadlink.h xreadlink.h xstrtod.c xstrtod.h xstrtol.c \
xstrtol.h xstrtoul.c xstrtod.c xstrtod.h xstrtold.c yesno.c \
yesno.h
BUILT_SOURCES = $(ALLOCA_H) $(ARPA_INET_H) configmake.h $(DIRENT_H) \
$(FCNTL_H) $(FNMATCH_H) getdate.c $(GETOPT_H) $(INTTYPES_H) \
$(NETINET_IN_H) $(STDBOOL_H) $(STDINT_H) stdio.h stdlib.h \
string.h $(SYS_SOCKET_H) $(SYS_STAT_H) $(SYS_TIME_H) time.h \
unistd.h $(WCHAR_H) $(WCTYPE_H)
SUFFIXES = .sed .sin
MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t arpa/inet.h \
arpa/inet.h-t fcntl.h fcntl.h-t fnmatch.h fnmatch.h-t getopt.h \
getopt.h-t inttypes.h inttypes.h-t netinet/in.h netinet/in.h-t \
stdbool.h stdbool.h-t stdint.h stdint.h-t sys/socket.h \
sys/socket.h-t sys/stat.h sys/stat.h-t unistd.h
arpa/inet.h-t dirent.h dirent.h-t fcntl.h fcntl.h-t fnmatch.h \
fnmatch.h-t getopt.h getopt.h-t inttypes.h inttypes.h-t \
netinet/in.h netinet/in.h-t stdbool.h stdbool.h-t stdint.h \
stdint.h-t stdio.h stdio.h-t stdlib.h stdlib.h-t string.h \
string.h-t sys/socket.h sys/socket.h-t sys/stat.h sys/stat.h-t \
sys/time.h sys/time.h-t time.h time.h-t unistd.h unistd.h-t \
wchar.h wchar.h-t wctype.h wctype.h-t
MOSTLYCLEANDIRS = arpa netinet sys sys
CLEANFILES = configmake.h configmake.h-t charset.alias ref-add.sed \
ref-del.sed
@@ -507,25 +632,28 @@ AM_CPPFLAGS =
# "gettextize --intl".
#AM_CPPFLAGS += -I$(top_builddir)/intl
libcoreutils_a_SOURCES = allocsa.h allocsa.c base64.h base64.c \
diacrit.h diacrit.c exit.h full-read.h full-read.c \
full-write.h full-write.c getdate.y gettext.h hash-pjw.h \
hash-pjw.c linebuffer.h linebuffer.c localcharset.h \
localcharset.c mbswidth.h mbswidth.c mbuiter.h readtokens0.h \
readtokens0.c savewd.h savewd.c strnlen1.h strnlen1.c \
unicodeio.h unicodeio.c verify.h version-etc.h version-etc.c \
version-etc-fsf.c wcwidth.h xalloc-die.c xgethostname.h \
xgethostname.c xmemcoll.h xmemcoll.c xstrndup.h xstrndup.c \
c-ctype.h c-ctype.c c-strcase.h c-strcasecmp.c c-strncasecmp.c \
diacrit.h diacrit.c full-read.h full-read.c full-write.h \
full-write.c getdate.y gettext.h hash-pjw.h hash-pjw.c \
linebuffer.h linebuffer.c localcharset.h localcharset.c \
mbchar.c mbscasecmp.c mbswidth.h mbswidth.c mbuiter.h \
readtokens0.h readtokens0.c savewd.h savewd.c strnlen1.h \
strnlen1.c unicodeio.h unicodeio.c verify.h version-etc.h \
version-etc.c version-etc-fsf.c wcwidth.h xalloc-die.c \
xgethostname.h xgethostname.c xmemcoll.h xmemcoll.c \
xreadlink.c xreadlink-with-size.c xstrndup.h xstrndup.c \
xstrtoimax.c xstrtoumax.c buffer-lcm.c buffer-lcm.h xmemxfrm.c \
xmemxfrm.h
libcoreutils_a_LIBADD = $(gl_LIBOBJS) @ALLOCA@ $(LIBOBJS)
libcoreutils_a_DEPENDENCIES = $(gl_LIBOBJS) @ALLOCA@ $(LIBOBJS)
EXTRA_libcoreutils_a_SOURCES = acl.c alloca.c argmatch.c atexit.c \
backupfile.c c-strtod.c c-strtod.c c-strtold.c calloc.c \
canon-host.c canonicalize.c chdir-long.c chown.c fchown-stub.c \
cloexec.c close-stream.c closeout.c cycle-check.c dirfd.c \
basename.c dirname.c stripslash.c dup2.c error.c euidaccess.c \
exclude.c exitfail.c creat-safer.c open-safer.c file-type.c \
fileblocks.c filemode.c filenamecat.c fnmatch.c fnmatch_loop.c \
EXTRA_libcoreutils_a_SOURCES = acl.c acl_entries.c file-has-acl.c \
alloca.c argmatch.c atexit.c backupfile.c c-strtod.c \
c-strtod.c c-strtold.c calloc.c canon-host.c canonicalize.c \
chdir-long.c chown.c fchown-stub.c cloexec.c close-stream.c \
closeout.c cycle-check.c dirfd.c basename.c dirname.c \
stripslash.c dup2.c error.c euidaccess.c exclude.c exitfail.c \
fchdir.c creat-safer.c open-safer.c file-type.c fileblocks.c \
filemode.c filenamecat.c fnmatch.c fnmatch_loop.c \
fopen-safer.c __fpending.c fprintftime.c free.c fsusage.c \
ftruncate.c fts-cycle.c fts.c gai_strerror.c getaddrinfo.c \
getcwd.c getdelim.c getgroups.c gethostname.c gethrxtime.c \
@@ -534,26 +662,26 @@ EXTRA_libcoreutils_a_SOURCES = acl.c alloca.c argmatch.c atexit.c \
group-member.c hard-locale.c hash.c human.c i-ring.c idcache.c \
inet_ntop.c imaxtostr.c inttostr.c offtostr.c uinttostr.c \
umaxtostr.c isapipe.c lchown.c long-options.c lstat.c malloc.c \
mbchar.c md5.c memcasecmp.c memchr.c memcmp.c memcoll.c \
memcpy.c memmove.c mempcpy.c memrchr.c memset.c mkancesdirs.c \
mkdir.c dirchownmod.c mkdir-p.c mkstemp.c mktime.c \
modechange.c mountlist.c nanosleep.c obstack.c at-func.c \
fchmodat.c fstatat.c mkdirat.c openat-die.c openat-proc.c \
openat.c physmem.c posixtm.c posixver.c putenv.c quote.c \
quotearg.c raise.c readlink.c readtokens.c readutmp.c \
md5.c memcasecmp.c memchr.c memcmp.c memcoll.c memcpy.c \
memmove.c mempcpy.c memrchr.c memset.c mkancesdirs.c mkdir.c \
dirchownmod.c mkdir-p.c mkstemp.c mktime.c modechange.c \
mountlist.c mpsort.c nanosleep.c obstack.c at-func.c \
fchmodat.c fchownat.c fstatat.c mkdirat.c openat-die.c \
openat-proc.c openat.c physmem.c posixtm.c posixver.c putenv.c \
quote.c quotearg.c raise.c readlink.c readtokens.c readutmp.c \
realloc.c regcomp.c regex.c regex_internal.c regexec.c \
rename.c rename-dest-slash.c rmdir.c root-dev-ino.c rpmatch.c \
safe-read.c safe-write.c same.c save-cwd.c savedir.c setenv.c \
unsetenv.c settime.c sha1.c sig2str.c snprintf.c \
mkstemp-safer.c stpcpy.c strcasecmp.c strncasecmp.c strcspn.c \
strdup.c strftime.c strndup.c strnlen.c strpbrk.c strtod.c \
strtoimax.c strtol.c strtoll.c strtoul.c strtoull.c \
strtoumax.c strverscmp.c tempname.c time_r.c dup-safer.c \
fd-safer.c pipe-safer.c unlinkdir.c userspec.c utime.c \
utimecmp.c utimens.c asnprintf.c printf-args.c printf-parse.c \
vasnprintf.c asprintf.c vasprintf.c xmalloc.c xgetcwd.c \
xnanosleep.c xreadlink.c xstrtod.c xstrtol.c xstrtoul.c \
xstrtod.c xstrtold.c yesno.c
mkstemp-safer.c stpcpy.c strcspn.c strdup.c strftime.c \
strndup.c strnlen.c strpbrk.c strtod.c strtoimax.c strtol.c \
strtoll.c strtoul.c strtoull.c strtoumax.c strverscmp.c \
tempname.c time_r.c dup-safer.c fd-safer.c pipe-safer.c \
unlinkdir.c userspec.c utime.c utimecmp.c utimens.c \
asnprintf.c printf-args.c printf-parse.c vasnprintf.c \
asprintf.c vasprintf.c xmalloc.c xgetcwd.c xnanosleep.c \
xstrtod.c xstrtol.c xstrtoul.c xstrtod.c xstrtold.c yesno.c
LINK_WARNING_H = $(top_srcdir)/build-aux/link-warning.h
charset_alias = $(DESTDIR)$(libdir)/charset.alias
charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
AM_CFLAGS = $(WARNING_CFLAGS) $(WERROR_CFLAGS)
@@ -640,7 +768,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/alloca.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/euidaccess-stat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fchdir-stub.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/fd-reopen.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/memxfrm.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/rand-isaac.Po@am__quote@
@@ -654,6 +781,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/xfts.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/__fpending.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/acl_entries.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alloca.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/allocsa.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argmatch.Po@am__quote@
@@ -665,6 +793,9 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/base64.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/buffer-lcm.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-ctype.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strcasecmp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strncasecmp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strtod.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strtold.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/calloc.Po@am__quote@
@@ -687,9 +818,12 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/euidaccess.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exclude.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exitfail.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchdir.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchmodat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown-stub.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchownat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fd-safer.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file-has-acl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file-type.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fileblocks.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filemode.Po@am__quote@
@@ -742,6 +876,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbchar.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbscasecmp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbswidth.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memcasecmp.Po@am__quote@
@@ -762,6 +897,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mktime.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/modechange.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mountlist.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpsort.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nanosleep.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/obstack.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/offtostr.Po@am__quote@
@@ -805,12 +941,10 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sig2str.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snprintf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stpcpy.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strcasecmp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strcspn.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strdup.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strftime.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stripslash.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strncasecmp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strndup.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strnlen.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strnlen1.Po@am__quote@
@@ -846,6 +980,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmemcoll.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmemxfrm.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xnanosleep.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xreadlink-with-size.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xreadlink.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrndup.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrtod.Po@am__quote@
@@ -1071,7 +1206,7 @@ alloca.h: alloca_.h
# We need the following in order to create <arpa/inet.h> when the system
# doesn't have one.
arpa/inet.h:
test -d arpa || mkdir arpa
@MKDIR_P@ arpa
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
echo '#include <sys/socket.h>'; \
@@ -1128,6 +1263,17 @@ configmake.h: Makefile
} | sed '/""/d' > $@-t
mv $@-t $@
# We need the following in order to create <dirent.h> when the system
# doesn't have one that works with the given compiler.
dirent.h: dirent_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's|@''ABSOLUTE_DIRENT_H''@|$(ABSOLUTE_DIRENT_H)|g' \
-e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \
< $(srcdir)/dirent_.h; \
} > $@-t
mv $@-t $@
# We need the following in order to create <fcntl.h> when the system
# doesn't have one that works with the given compiler.
fcntl.h: fcntl_.h
@@ -1165,10 +1311,15 @@ inttypes.h: inttypes_.h
-e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
-e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
-e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \
-e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \
-e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \
-e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \
-e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \
-e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \
-e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \
-e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
-e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
-e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
< $(srcdir)/inttypes_.h; \
} > $@-t
mv $@-t $@
@@ -1219,10 +1370,12 @@ charset.alias: config.charset
# We need the following in order to create <netinet/in.h> when the system
# doesn't have one.
netinet/in.h:
test -d netinet || mkdir netinet
@MKDIR_P@ netinet
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
echo '#include <sys/socket.h>'; \
sed -e 's|@''ABSOLUTE_NETINET_IN_H''@|$(ABSOLUTE_NETINET_IN_H)|g' \
-e 's|@''HAVE_NETINET_IN_H''@|$(HAVE_NETINET_IN_H)|g' \
< $(srcdir)/netinet_in_.h; \
} > $@-t
mv $@-t $@
@@ -1240,8 +1393,7 @@ stdbool.h: stdbool_.h
stdint.h: stdint_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \
-e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
-e 's|@''ABSOLUTE_STDINT_H''@|$(ABSOLUTE_STDINT_H)|g' \
-e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
-e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
@@ -1266,19 +1418,122 @@ stdint.h: stdint_.h
} > $@-t
mv $@-t $@
# We need the following in order to create <stdio.h> when the system
# doesn't have one that works with the given compiler.
stdio.h: stdio_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''ABSOLUTE_STDIO_H''@|$(ABSOLUTE_STDIO_H)|g' \
-e 's|@''GNULIB_FPRINTF_POSIX''@|$(GNULIB_FPRINTF_POSIX)|g' \
-e 's|@''GNULIB_PRINTF_POSIX''@|$(GNULIB_PRINTF_POSIX)|g' \
-e 's|@''GNULIB_SNPRINTF''@|$(GNULIB_SNPRINTF)|g' \
-e 's|@''GNULIB_SPRINTF_POSIX''@|$(GNULIB_SPRINTF_POSIX)|g' \
-e 's|@''GNULIB_VFPRINTF_POSIX''@|$(GNULIB_VFPRINTF_POSIX)|g' \
-e 's|@''GNULIB_VPRINTF_POSIX''@|$(GNULIB_VPRINTF_POSIX)|g' \
-e 's|@''GNULIB_VSNPRINTF''@|$(GNULIB_VSNPRINTF)|g' \
-e 's|@''GNULIB_VSPRINTF_POSIX''@|$(GNULIB_VSPRINTF_POSIX)|g' \
-e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \
-e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \
-e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \
-e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \
-e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \
-e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \
-e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \
-e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \
-e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \
-e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \
-e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
< $(srcdir)/stdio_.h; \
} > $@-t
mv $@-t $@
# We need the following in order to create <stdlib.h> when the system
# doesn't have one that works with the given compiler.
stdlib.h: stdlib_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''ABSOLUTE_STDLIB_H''@|$(ABSOLUTE_STDLIB_H)|g' \
-e 's|@''GNULIB_GETSUBOPT''@|$(GNULIB_GETSUBOPT)|g' \
-e 's|@''GNULIB_MKDTEMP''@|$(GNULIB_MKDTEMP)|g' \
-e 's|@''GNULIB_MKSTEMP''@|$(GNULIB_MKSTEMP)|g' \
-e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
-e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
-e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
-e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
< $(srcdir)/stdlib_.h; \
} > $@-t
mv $@-t $@
# We need the following in order to create <string.h> when the system
# doesn't have one that works with the given compiler.
string.h: string_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''ABSOLUTE_STRING_H''@|$(ABSOLUTE_STRING_H)|g' \
-e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \
-e 's|@''GNULIB_MBSCHR''@|$(GNULIB_MBSCHR)|g' \
-e 's|@''GNULIB_MBSRCHR''@|$(GNULIB_MBSRCHR)|g' \
-e 's|@''GNULIB_MBSSTR''@|$(GNULIB_MBSSTR)|g' \
-e 's|@''GNULIB_MBSCASECMP''@|$(GNULIB_MBSCASECMP)|g' \
-e 's|@''GNULIB_MBSNCASECMP''@|$(GNULIB_MBSNCASECMP)|g' \
-e 's|@''GNULIB_MBSPCASECMP''@|$(GNULIB_MBSPCASECMP)|g' \
-e 's|@''GNULIB_MBSCASESTR''@|$(GNULIB_MBSCASESTR)|g' \
-e 's|@''GNULIB_MBSCSPN''@|$(GNULIB_MBSCSPN)|g' \
-e 's|@''GNULIB_MBSPBRK''@|$(GNULIB_MBSPBRK)|g' \
-e 's|@''GNULIB_MBSSPN''@|$(GNULIB_MBSSPN)|g' \
-e 's|@''GNULIB_MBSSEP''@|$(GNULIB_MBSSEP)|g' \
-e 's|@''GNULIB_MBSTOK_R''@|$(GNULIB_MBSTOK_R)|g' \
-e 's|@''GNULIB_MEMMEM''@|$(GNULIB_MEMMEM)|g' \
-e 's|@''GNULIB_MEMPCPY''@|$(GNULIB_MEMPCPY)|g' \
-e 's|@''GNULIB_MEMRCHR''@|$(GNULIB_MEMRCHR)|g' \
-e 's|@''GNULIB_STPCPY''@|$(GNULIB_STPCPY)|g' \
-e 's|@''GNULIB_STPNCPY''@|$(GNULIB_STPNCPY)|g' \
-e 's|@''GNULIB_STRCHRNUL''@|$(GNULIB_STRCHRNUL)|g' \
-e 's|@''GNULIB_STRDUP''@|$(GNULIB_STRDUP)|g' \
-e 's|@''GNULIB_STRNDUP''@|$(GNULIB_STRNDUP)|g' \
-e 's|@''GNULIB_STRNLEN''@|$(GNULIB_STRNLEN)|g' \
-e 's|@''GNULIB_STRPBRK''@|$(GNULIB_STRPBRK)|g' \
-e 's|@''GNULIB_STRSEP''@|$(GNULIB_STRSEP)|g' \
-e 's|@''GNULIB_STRCASESTR''@|$(GNULIB_STRCASESTR)|g' \
-e 's|@''GNULIB_STRTOK_R''@|$(GNULIB_STRTOK_R)|g' \
-e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \
-e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \
-e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \
-e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \
-e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \
-e 's|@''HAVE_STRCASECMP''@|$(HAVE_STRCASECMP)|g' \
-e 's|@''HAVE_DECL_STRNCASECMP''@|$(HAVE_DECL_STRNCASECMP)|g' \
-e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \
-e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \
-e 's|@''HAVE_STRNDUP''@|$(HAVE_STRNDUP)|g' \
-e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \
-e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \
-e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \
-e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \
-e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \
-e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \
-e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
< $(srcdir)/string_.h; \
} > $@-t
mv $@-t $@
# We need the following in order to create <sys/socket.h> when the system
# doesn't have one that works with the given compiler.
sys/socket.h: socket_.h
test -d sys || mkdir sys
@MKDIR_P@ sys
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
cat $(srcdir)/socket_.h; \
sed -e 's|@''ABSOLUTE_SYS_SOCKET_H''@|$(ABSOLUTE_SYS_SOCKET_H)|g' \
-e 's|@''HAVE_SYS_SOCKET_H''@|$(HAVE_SYS_SOCKET_H)|g' \
-e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \
-e 's|@''HAVE_WS2TCPIP_H''@|$(HAVE_WS2TCPIP_H)|g' \
< $(srcdir)/socket_.h; \
} > $@-t
mv -f $@-t $@
# We need the following in order to create <sys/stat.h> when the system
# has one that is incomplete.
sys/stat.h: stat_.h
test -d sys || mkdir sys
@MKDIR_P@ sys
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's|@''ABSOLUTE_SYS_STAT_H''@|$(ABSOLUTE_SYS_STAT_H)|g' \
@@ -1286,12 +1541,83 @@ sys/stat.h: stat_.h
} > $@-t
mv $@-t $@
# We need the following in order to create <sys/time.h> when the system
# doesn't have one that works with the given compiler.
sys/time.h: sys_time_.h
@MKDIR_P@ sys
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \
-e 's|@''ABSOLUTE_SYS_TIME_H''@|$(ABSOLUTE_SYS_TIME_H)|g' \
-e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \
-e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \
< $(srcdir)/sys_time_.h; \
} > $@-t
mv $@-t $@
# We need the following in order to create <time.h> when the system
# doesn't have one that works with the given compiler.
time.h: time_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@ABSOLUTE_TIME_H''@|$(ABSOLUTE_TIME_H)|g' \
-e 's|@REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
-e 's|@REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \
-e 's|@REPLACE_STRPTIME''@|$(REPLACE_STRPTIME)|g' \
-e 's|@REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \
-e 's|@SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
-e 's|@TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
< $(srcdir)/time_.h; \
} > $@-t
mv $@-t $@
# We need the following in order to create an empty placeholder for
# <unistd.h> when the system doesn't have one.
unistd.h:
unistd.h: unistd_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
echo '/* Empty placeholder for $@. */'; \
} > $@
sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
-e 's|@''ABSOLUTE_UNISTD_H''@|$(ABSOLUTE_UNISTD_H)|g' \
-e 's|@''GNULIB_CHOWN''@|$(GNULIB_CHOWN)|g' \
-e 's|@''GNULIB_DUP2''@|$(GNULIB_DUP2)|g' \
-e 's|@''GNULIB_FCHDIR''@|$(GNULIB_FCHDIR)|g' \
-e 's|@''GNULIB_FTRUNCATE''@|$(GNULIB_FTRUNCATE)|g' \
-e 's|@''GNULIB_GETCWD''@|$(GNULIB_GETCWD)|g' \
-e 's|@''GNULIB_GETLOGIN_R''@|$(GNULIB_GETLOGIN_R)|g' \
-e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \
-e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \
-e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
-e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \
-e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
-e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
-e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \
-e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
< $(srcdir)/unistd_.h; \
} > $@-t
mv $@-t $@
# We need the following in order to create <wchar.h> when the system
# version does not work standalone.
wchar.h: wchar_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's|@''ABSOLUTE_WCHAR_H''@|$(ABSOLUTE_WCHAR_H)|g' \
< $(srcdir)/wchar_.h; \
} > $@-t
mv $@-t $@
# We need the following in order to create <wctype.h> when the system
# doesn't have one that works with the given compiler.
wctype.h: wctype_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \
-e 's|@''ABSOLUTE_WCTYPE_H''@|$(ABSOLUTE_WCTYPE_H)|g' \
-e 's/@''HAVE_WCTYPE_CTMP_BUG''@/$(HAVE_WCTYPE_CTMP_BUG)/g' \
-e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \
< $(srcdir)/wctype_.h; \
} > $@-t
mv $@-t $@
mostlyclean-local: mostlyclean-generic
@for dir in '' $(MOSTLYCLEANDIRS); do \
+86
View File
@@ -0,0 +1,86 @@
/* Internal implementation of access control lists.
Copyright (C) 2002, 2003, 2005, 2006, 2007 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 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Written by Paul Eggert and Andreas Gruenbacher. */
#include <config.h>
#include "acl.h"
#include <stdbool.h>
#include <stdlib.h>
#ifdef HAVE_ACL_LIBACL_H
# include <acl/libacl.h>
#endif
#include "error.h"
#include "quote.h"
#include <errno.h>
#ifndef ENOSYS
# define ENOSYS (-1)
#endif
#ifndef ENOTSUP
# define ENOTSUP (-1)
#endif
#include "gettext.h"
#define _(msgid) gettext (msgid)
#ifndef HAVE_FCHMOD
# define HAVE_FCHMOD false
# define fchmod(fd, mode) (-1)
#endif
#ifndef MIN_ACL_ENTRIES
# define MIN_ACL_ENTRIES 4
#endif
/* POSIX 1003.1e (draft 17) */
#ifndef HAVE_ACL_GET_FD
# define HAVE_ACL_GET_FD false
# define acl_get_fd(fd) (NULL)
#endif
/* POSIX 1003.1e (draft 17) */
#ifndef HAVE_ACL_SET_FD
# define HAVE_ACL_SET_FD false
# define acl_set_fd(fd, acl) (-1)
#endif
/* Linux-specific */
#ifndef HAVE_ACL_EXTENDED_FILE
# define HAVE_ACL_EXTENDED_FILE false
# define acl_extended_file(name) (-1)
#endif
/* Linux-specific */
#ifndef HAVE_ACL_FROM_MODE
# define HAVE_ACL_FROM_MODE false
# define acl_from_mode(mode) (NULL)
#endif
#define ACL_NOT_WELL_SUPPORTED(Errno) \
((Errno) == ENOTSUP || (Errno) == ENOSYS || (Errno) == EINVAL)
/* Define a replacement for acl_entries if needed. */
#if USE_ACL && HAVE_ACL_GET_FILE && HAVE_ACL_FREE && !HAVE_ACL_ENTRIES
# define acl_entries rpl_acl_entries
int acl_entries (acl_t);
#endif
+5 -156
View File
@@ -1,6 +1,6 @@
/* acl.c - access control lists
Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
Copyright (C) 2002, 2003, 2005, 2006, 2007 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
@@ -20,97 +20,9 @@
#include <config.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#ifndef S_ISLNK
# define S_ISLNK(Mode) 0
#endif
#ifdef HAVE_ACL_LIBACL_H
# include <acl/libacl.h>
#endif
#include "acl.h"
#include "error.h"
#include "quote.h"
#include <errno.h>
#ifndef ENOSYS
# define ENOSYS (-1)
#endif
#ifndef ENOTSUP
# define ENOTSUP (-1)
#endif
#if ENABLE_NLS
# include <libintl.h>
# define _(Text) gettext (Text)
#else
# define _(Text) Text
#endif
#ifndef HAVE_FCHMOD
# define HAVE_FCHMOD false
# define fchmod(fd, mode) (-1)
#endif
/* POSIX 1003.1e (draft 17) */
#ifndef HAVE_ACL_GET_FD
# define HAVE_ACL_GET_FD false
# define acl_get_fd(fd) (NULL)
#endif
/* POSIX 1003.1e (draft 17) */
#ifndef HAVE_ACL_SET_FD
# define HAVE_ACL_SET_FD false
# define acl_set_fd(fd, acl) (-1)
#endif
/* Linux-specific */
#ifndef HAVE_ACL_EXTENDED_FILE
# define HAVE_ACL_EXTENDED_FILE false
# define acl_extended_file(name) (-1)
#endif
/* Linux-specific */
#ifndef HAVE_ACL_FROM_MODE
# define HAVE_ACL_FROM_MODE false
# define acl_from_mode(mode) (NULL)
#endif
/* We detect the presence of POSIX 1003.1e (draft 17 -- abandoned) support
by checking for HAVE_ACL_GET_FILE, HAVE_ACL_SET_FILE, and HAVE_ACL_FREE.
Systems that have acl_get_file, acl_set_file, and acl_free must also
have acl_to_text, acl_from_text, and acl_delete_def_file (all defined
in the draft); systems that don't would hit #error statements here. */
#if USE_ACL && HAVE_ACL_GET_FILE && !HAVE_ACL_ENTRIES
# ifndef HAVE_ACL_TO_TEXT
# error Must have acl_to_text (see POSIX 1003.1e draft 17).
# endif
/* Return the number of entries in ACL. Linux implements acl_entries
as a more efficient extension than using this workaround. */
static int
acl_entries (acl_t acl)
{
char *text = acl_to_text (acl, NULL), *t;
int entries;
if (text == NULL)
return -1;
for (entries = 0, t = text; ; t++, entries++) {
t = strchr (t, '\n');
if (t == NULL)
break;
}
acl_free (text);
return entries;
}
#endif
#include "acl-internal.h"
/* If DESC is a valid file descriptor use fchmod to change the
file's mode to MODE on systems that have fchown. On systems
@@ -126,69 +38,6 @@ chmod_or_fchmod (const char *name, int desc, mode_t mode)
return chmod (name, mode);
}
/* Return 1 if NAME has a nontrivial access control list, 0 if
NAME only has no or a base access control list, and -1 on
error. SB must be set to the stat buffer of FILE. */
int
file_has_acl (char const *name, struct stat const *sb)
{
#if USE_ACL && HAVE_ACL && defined GETACLCNT
/* This implementation should work on recent-enough versions of HP-UX,
Solaris, and Unixware. */
# ifndef MIN_ACL_ENTRIES
# define MIN_ACL_ENTRIES 4
# endif
if (! S_ISLNK (sb->st_mode))
{
int n = acl (name, GETACLCNT, 0, NULL);
return n < 0 ? (errno == ENOSYS ? 0 : -1) : (MIN_ACL_ENTRIES < n);
}
#elif USE_ACL && HAVE_ACL_GET_FILE && HAVE_ACL_FREE
/* POSIX 1003.1e (draft 17 -- abandoned) specific version. */
if (! S_ISLNK (sb->st_mode))
{
int ret;
if (HAVE_ACL_EXTENDED_FILE)
ret = acl_extended_file (name);
else
{
acl_t acl = acl_get_file (name, ACL_TYPE_ACCESS);
if (acl)
{
ret = (3 < acl_entries (acl));
acl_free (acl);
if (ret == 0 && S_ISDIR (sb->st_mode))
{
acl = acl_get_file (name, ACL_TYPE_DEFAULT);
if (acl)
{
ret = (0 < acl_entries (acl));
acl_free (acl);
}
else
ret = -1;
}
}
else
ret = -1;
}
if (ret < 0)
return (errno == ENOSYS || errno == ENOTSUP) ? 0 : -1;
return ret;
}
#endif
/* FIXME: Add support for AIX, Irix, and Tru64. Please see Samba's
source/lib/sysacls.c file for fix-related ideas. */
return 0;
}
/* Copy access control lists from one file to another. If SOURCE_DESC is
a valid file descriptor, use file descriptor operations, else use
filename based operations on SRC_NAME. Likewise for DEST_DESC and
@@ -214,7 +63,7 @@ copy_acl (const char *src_name, int source_desc, const char *dst_name,
acl = acl_get_file (src_name, ACL_TYPE_ACCESS);
if (acl == NULL)
{
if (errno == ENOSYS || errno == ENOTSUP)
if (ACL_NOT_WELL_SUPPORTED (errno))
return set_acl (dst_name, dest_desc, mode);
else
{
@@ -231,7 +80,7 @@ copy_acl (const char *src_name, int source_desc, const char *dst_name,
{
int saved_errno = errno;
if (errno == ENOSYS || errno == ENOTSUP)
if (ACL_NOT_WELL_SUPPORTED (errno))
{
int n = acl_entries (acl);
@@ -367,7 +216,7 @@ set_acl (char const *name, int desc, mode_t mode)
int saved_errno = errno;
acl_free (acl);
if (errno == ENOTSUP || errno == ENOSYS)
if (ACL_NOT_WELL_SUPPORTED (errno))
{
if (chmod_or_fchmod (name, desc, mode) != 0)
saved_errno = errno;
+4
View File
@@ -18,6 +18,8 @@
Written by Paul Eggert. */
#include <sys/types.h>
#if HAVE_SYS_ACL_H
# include <sys/acl.h>
#endif
@@ -25,6 +27,8 @@
# define GETACLCNT ACL_CNT
#endif
#include <sys/stat.h>
int file_has_acl (char const *, struct stat const *);
int copy_acl (char const *, int, char const *, int, mode_t);
int set_acl (char const *, int, mode_t);
@@ -1,5 +1,6 @@
/* Copy memory area and return pointer after last written byte.
Copyright (C) 2003, 2004 Free Software Foundation, Inc.
/* Return the number of entries in an ACL.
Copyright (C) 2002, 2003, 2005, 2006, 2007 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
@@ -13,24 +14,26 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#ifndef mempcpy
Written by Paul Eggert and Andreas Gruenbacher. */
# if HAVE_MEMPCPY
#include <config.h>
/* Get mempcpy() declaration. */
# include <string.h>
#include "acl-internal.h"
# else
/* Return the number of entries in ACL. */
/* Get size_t */
# include <stddef.h>
/* Copy N bytes of SRC to DEST, return pointer to bytes after the
last written byte. */
extern void *mempcpy (void *dest, const void *src, size_t n);
# endif
#endif
int
acl_entries (acl_t acl)
{
char *t;
int entries = 0;
char *text = acl_to_text (acl, NULL);
if (! text)
return -1;
for (t = text; *t; t++)
entries += (*t == '\n');
acl_free (text);
return entries;
}
+5 -5
View File
@@ -1,5 +1,5 @@
/* Safe automatic memory allocation.
Copyright (C) 2003-2006 Free Software Foundation, Inc.
Copyright (C) 2003-2007 Free Software Foundation, Inc.
Written by Bruno Haible <[email protected]>, 2003.
This program is free software; you can redistribute it and/or modify
@@ -106,17 +106,17 @@ enum
among all elementary types. */
sa_alignment_long = sa_alignof (long),
sa_alignment_double = sa_alignof (double),
#ifdef HAVE_LONG_LONG_INT
#if HAVE_LONG_LONG_INT
sa_alignment_longlong = sa_alignof (long long),
#endif
#ifdef HAVE_LONG_DOUBLE
#if HAVE_LONG_DOUBLE
sa_alignment_longdouble = sa_alignof (long double),
#endif
sa_alignment_max = ((sa_alignment_long - 1) | (sa_alignment_double - 1)
#ifdef HAVE_LONG_LONG_INT
#if HAVE_LONG_LONG_INT
| (sa_alignment_longlong - 1)
#endif
#ifdef HAVE_LONG_DOUBLE
#if HAVE_LONG_DOUBLE
| (sa_alignment_longdouble - 1)
#endif
) + 1,
+1 -2
View File
@@ -1,6 +1,6 @@
/* argmatch.c -- find a match for a string in an array
Copyright (C) 1990, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006
Copyright (C) 1990, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
@@ -34,7 +34,6 @@
#define _(msgid) gettext (msgid)
#include "error.h"
#include "exit.h"
#include "quotearg.h"
#include "quote.h"
+5
View File
@@ -82,6 +82,11 @@
of `digit' even when the host does not conform to POSIX. */
#define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9)
/* The results of opendir() in this file are not used with dirfd and fchdir,
therefore save some unnecessary work in fchdir.c. */
#undef opendir
#undef closedir
/* The extension added to file names to produce a simple (as opposed
to numbered) backup file name. */
char const *simple_backup_suffix = "~";
+198 -62
View File
@@ -1,5 +1,7 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* base64.c -- Encode binary data using printable characters.
Copyright (C) 1999, 2000, 2001, 2004, 2005, 2006 Free Software
Copyright (C) 1999, 2000, 2001, 2004, 2005, 2006, 2007 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
@@ -52,6 +54,8 @@
/* Get UCHAR_MAX. */
#include <limits.h>
#include <string.h>
/* C89 compliant way to cast 'char' to 'unsigned char'. */
static inline unsigned char
to_uchar (char ch)
@@ -300,89 +304,220 @@ isbase64 (char ch)
return uchar_in_range (to_uchar (ch)) && 0 <= b64[to_uchar (ch)];
}
/* Decode base64 encoded input array IN of length INLEN to output
array OUT that can hold *OUTLEN bytes. Return true if decoding was
successful, i.e. if the input was valid base64 data, false
otherwise. If *OUTLEN is too small, as many bytes as possible will
be written to OUT. On return, *OUTLEN holds the length of decoded
bytes in OUT. Note that as soon as any non-alphabet characters are
encountered, decoding is stopped and false is returned. This means
that, when applicable, you must remove any line terminators that is
part of the data stream before calling this function. */
bool
base64_decode (const char *restrict in, size_t inlen,
char *restrict out, size_t *outlen)
/* Initialize decode-context buffer, CTX. */
void
base64_decode_ctx_init (struct base64_decode_context *ctx)
{
size_t outleft = *outlen;
ctx->i = 0;
}
while (inlen >= 2)
/* If CTX->i is 0 or 4, there are four or more bytes in [*IN..IN_END), and
none of those four is a newline, then return *IN. Otherwise, copy up to
4 - CTX->i non-newline bytes from that range into CTX->buf, starting at
index CTX->i and setting CTX->i to reflect the number of bytes copied,
and return CTX->buf. In either case, advance *IN to point to the byte
after the last one processed, and set *N_NON_NEWLINE to the number of
verified non-newline bytes accessible through the returned pointer. */
static inline char *
get_4 (struct base64_decode_context *ctx,
char const *restrict *in, char const *restrict in_end,
size_t *n_non_newline)
{
if (ctx->i == 4)
ctx->i = 0;
if (ctx->i == 0)
{
if (!isbase64 (in[0]) || !isbase64 (in[1]))
break;
if (outleft)
char const *t = *in;
if (4 <= in_end - *in && memchr (t, '\n', 4) == NULL)
{
*out++ = ((b64[to_uchar (in[0])] << 2)
| (b64[to_uchar (in[1])] >> 4));
outleft--;
/* This is the common case: no newline. */
*in += 4;
*n_non_newline = 4;
return (char *) t;
}
}
{
/* Copy non-newline bytes into BUF. */
char const *p = *in;
while (p < in_end)
{
char c = *p++;
if (c != '\n')
{
ctx->buf[ctx->i++] = c;
if (ctx->i == 4)
break;
}
}
*in = p;
*n_non_newline = ctx->i;
return ctx->buf;
}
}
#define return_false \
do \
{ \
*outp = out; \
return false; \
} \
while (false)
/* Decode up to four bytes of base64-encoded data, IN, of length INLEN
into the output buffer, *OUT, of size *OUTLEN bytes. Return true if
decoding is successful, false otherwise. If *OUTLEN is too small,
as many bytes as possible are written to *OUT. On return, advance
*OUT to point to the byte after the last one written, and decrement
*OUTLEN to reflect the number of bytes remaining in *OUT. */
static inline bool
decode_4 (char const *restrict in, size_t inlen,
char *restrict *outp, size_t *outleft)
{
char *out = *outp;
if (inlen < 2)
return false;
if (!isbase64 (in[0]) || !isbase64 (in[1]))
return false;
if (*outleft)
{
*out++ = ((b64[to_uchar (in[0])] << 2)
| (b64[to_uchar (in[1])] >> 4));
--*outleft;
}
if (inlen == 2)
return_false;
if (in[2] == '=')
{
if (inlen != 4)
return_false;
if (in[3] != '=')
return_false;
}
else
{
if (!isbase64 (in[2]))
return_false;
if (*outleft)
{
*out++ = (((b64[to_uchar (in[1])] << 4) & 0xf0)
| (b64[to_uchar (in[2])] >> 2));
--*outleft;
}
if (inlen == 2)
break;
if (inlen == 3)
return_false;
if (in[2] == '=')
if (in[3] == '=')
{
if (inlen != 4)
break;
if (in[3] != '=')
break;
return_false;
}
else
{
if (!isbase64 (in[2]))
break;
if (!isbase64 (in[3]))
return_false;
if (outleft)
if (*outleft)
{
*out++ = (((b64[to_uchar (in[1])] << 4) & 0xf0)
| (b64[to_uchar (in[2])] >> 2));
outleft--;
*out++ = (((b64[to_uchar (in[2])] << 6) & 0xc0)
| b64[to_uchar (in[3])]);
--*outleft;
}
}
}
if (inlen == 3)
break;
*outp = out;
return true;
}
if (in[3] == '=')
/* Decode base64-encoded input array IN of length INLEN to output array
OUT that can hold *OUTLEN bytes. The input data may be interspersed
with newlines. Return true if decoding was successful, i.e. if the
input was valid base64 data, false otherwise. If *OUTLEN is too
small, as many bytes as possible will be written to OUT. On return,
*OUTLEN holds the length of decoded bytes in OUT. Note that as soon
as any non-alphabet, non-newline character is encountered, decoding
is stopped and false is returned. If INLEN is zero, then process
only whatever data is stored in CTX.
Initially, CTX must have been initialized via base64_decode_ctx_init.
Subsequent calls to this function must reuse whatever state is recorded
in that buffer. It is necessary for when a quadruple of base64 input
bytes spans two input buffers. */
bool
base64_decode (struct base64_decode_context *ctx,
const char *restrict in, size_t inlen,
char *restrict out, size_t *outlen)
{
size_t outleft = *outlen;
bool flush_ctx = inlen == 0;
while (true)
{
size_t outleft_save = outleft;
if (ctx->i == 0 && !flush_ctx)
{
while (true)
{
if (inlen != 4)
break;
}
else
{
if (!isbase64 (in[3]))
/* Save a copy of outleft, in case we need to re-parse this
block of four bytes. */
outleft_save = outleft;
if (!decode_4 (in, inlen, &out, &outleft))
break;
if (outleft)
{
*out++ = (((b64[to_uchar (in[2])] << 6) & 0xc0)
| b64[to_uchar (in[3])]);
outleft--;
}
in += 4;
inlen -= 4;
}
}
in += 4;
inlen -= 4;
if (inlen == 0 && !flush_ctx)
break;
/* Handle the common case of 72-byte wrapped lines.
This also handles any other multiple-of-4-byte wrapping. */
if (inlen && *in == '\n')
{
++in;
--inlen;
continue;
}
/* Restore OUT and OUTLEFT. */
out -= outleft_save - outleft;
outleft = outleft_save;
{
char const *in_end = in + inlen;
char const *non_nl = get_4 (ctx, &in, in_end, &inlen);
/* If the input is empty or consists solely of newlines (0 non-newlines),
then we're done. Likewise if there are fewer than 4 bytes when not
flushing context. */
if (inlen == 0 || (inlen < 4 && !flush_ctx))
{
inlen = 0;
break;
}
if (!decode_4 (non_nl, inlen, &out, &outleft))
break;
inlen = in_end - in;
}
}
*outlen -= outleft;
if (inlen != 0)
return false;
return true;
return inlen == 0;
}
/* Allocate an output buffer in *OUT, and decode the base64 encoded
@@ -397,12 +532,13 @@ base64_decode (const char *restrict in, size_t inlen,
input was invalid, in which case *OUT is NULL and *OUTLEN is
undefined. */
bool
base64_decode_alloc (const char *in, size_t inlen, char **out,
base64_decode_alloc (struct base64_decode_context *ctx,
const char *in, size_t inlen, char **out,
size_t *outlen)
{
/* This may allocate a few bytes too much, depending on input,
but it's not worth the extra CPU time to compute the exact amount.
The exact amount is 3 * inlen / 4, minus 1 if the input ends
/* This may allocate a few bytes too many, depending on input,
but it's not worth the extra CPU time to compute the exact size.
The exact size is 3 * inlen / 4, minus 1 if the input ends
with "=" and minus another 1 if the input ends with "==".
Dividing before multiplying avoids the possibility of overflow. */
size_t needlen = 3 * (inlen / 4) + 2;
@@ -411,7 +547,7 @@ base64_decode_alloc (const char *in, size_t inlen, char **out,
if (!*out)
return true;
if (!base64_decode (in, inlen, *out, &needlen))
if (!base64_decode (ctx, in, inlen, *out, &needlen))
{
free (*out);
*out = NULL;
+13 -2
View File
@@ -1,3 +1,5 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* base64.h -- Encode binary data using printable characters.
Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
Written by Simon Josefsson.
@@ -29,6 +31,12 @@
integer >= n/k, i.e., the ceiling of n/k. */
# define BASE64_LENGTH(inlen) ((((inlen) + 2) / 3) * 4)
struct base64_decode_context
{
unsigned int i;
char buf[4];
};
extern bool isbase64 (char ch);
extern void base64_encode (const char *restrict in, size_t inlen,
@@ -36,10 +44,13 @@ extern void base64_encode (const char *restrict in, size_t inlen,
extern size_t base64_encode_alloc (const char *in, size_t inlen, char **out);
extern bool base64_decode (const char *restrict in, size_t inlen,
extern void base64_decode_ctx_init (struct base64_decode_context *ctx);
extern bool base64_decode (struct base64_decode_context *ctx,
const char *restrict in, size_t inlen,
char *restrict out, size_t *outlen);
extern bool base64_decode_alloc (const char *in, size_t inlen,
extern bool base64_decode_alloc (struct base64_decode_context *ctx,
const char *in, size_t inlen,
char **out, size_t *outlen);
#endif /* BASE64_H */
+396
View File
@@ -0,0 +1,396 @@
/* Character handling in C locale.
Copyright 2000-2003, 2006 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#include <config.h>
/* Specification. */
#define NO_C_CTYPE_MACROS
#include "c-ctype.h"
/* The function isascii is not locale dependent. Its use in EBCDIC is
questionable. */
bool
c_isascii (int c)
{
return (c >= 0x00 && c <= 0x7f);
}
bool
c_isalnum (int c)
{
#if C_CTYPE_CONSECUTIVE_DIGITS \
&& C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
#if C_CTYPE_ASCII
return ((c >= '0' && c <= '9')
|| ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z'));
#else
return ((c >= '0' && c <= '9')
|| (c >= 'A' && c <= 'Z')
|| (c >= 'a' && c <= 'z'));
#endif
#else
switch (c)
{
case '0': case '1': case '2': case '3': case '4': case '5':
case '6': case '7': case '8': case '9':
case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
case 'Y': case 'Z':
case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
case 's': case 't': case 'u': case 'v': case 'w': case 'x':
case 'y': case 'z':
return 1;
default:
return 0;
}
#endif
}
bool
c_isalpha (int c)
{
#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
#if C_CTYPE_ASCII
return ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z');
#else
return ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'));
#endif
#else
switch (c)
{
case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
case 'Y': case 'Z':
case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
case 's': case 't': case 'u': case 'v': case 'w': case 'x':
case 'y': case 'z':
return 1;
default:
return 0;
}
#endif
}
bool
c_isblank (int c)
{
return (c == ' ' || c == '\t');
}
bool
c_iscntrl (int c)
{
#if C_CTYPE_ASCII
return ((c & ~0x1f) == 0 || c == 0x7f);
#else
switch (c)
{
case ' ': case '!': case '"': case '#': case '$': case '%':
case '&': case '\'': case '(': case ')': case '*': case '+':
case ',': case '-': case '.': case '/':
case '0': case '1': case '2': case '3': case '4': case '5':
case '6': case '7': case '8': case '9':
case ':': case ';': case '<': case '=': case '>': case '?':
case '@':
case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
case 'Y': case 'Z':
case '[': case '\\': case ']': case '^': case '_': case '`':
case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
case 's': case 't': case 'u': case 'v': case 'w': case 'x':
case 'y': case 'z':
case '{': case '|': case '}': case '~':
return 0;
default:
return 1;
}
#endif
}
bool
c_isdigit (int c)
{
#if C_CTYPE_CONSECUTIVE_DIGITS
return (c >= '0' && c <= '9');
#else
switch (c)
{
case '0': case '1': case '2': case '3': case '4': case '5':
case '6': case '7': case '8': case '9':
return 1;
default:
return 0;
}
#endif
}
bool
c_islower (int c)
{
#if C_CTYPE_CONSECUTIVE_LOWERCASE
return (c >= 'a' && c <= 'z');
#else
switch (c)
{
case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
case 's': case 't': case 'u': case 'v': case 'w': case 'x':
case 'y': case 'z':
return 1;
default:
return 0;
}
#endif
}
bool
c_isgraph (int c)
{
#if C_CTYPE_ASCII
return (c >= '!' && c <= '~');
#else
switch (c)
{
case '!': case '"': case '#': case '$': case '%': case '&':
case '\'': case '(': case ')': case '*': case '+': case ',':
case '-': case '.': case '/':
case '0': case '1': case '2': case '3': case '4': case '5':
case '6': case '7': case '8': case '9':
case ':': case ';': case '<': case '=': case '>': case '?':
case '@':
case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
case 'Y': case 'Z':
case '[': case '\\': case ']': case '^': case '_': case '`':
case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
case 's': case 't': case 'u': case 'v': case 'w': case 'x':
case 'y': case 'z':
case '{': case '|': case '}': case '~':
return 1;
default:
return 0;
}
#endif
}
bool
c_isprint (int c)
{
#if C_CTYPE_ASCII
return (c >= ' ' && c <= '~');
#else
switch (c)
{
case ' ': case '!': case '"': case '#': case '$': case '%':
case '&': case '\'': case '(': case ')': case '*': case '+':
case ',': case '-': case '.': case '/':
case '0': case '1': case '2': case '3': case '4': case '5':
case '6': case '7': case '8': case '9':
case ':': case ';': case '<': case '=': case '>': case '?':
case '@':
case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
case 'Y': case 'Z':
case '[': case '\\': case ']': case '^': case '_': case '`':
case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
case 's': case 't': case 'u': case 'v': case 'w': case 'x':
case 'y': case 'z':
case '{': case '|': case '}': case '~':
return 1;
default:
return 0;
}
#endif
}
bool
c_ispunct (int c)
{
#if C_CTYPE_ASCII
return ((c >= '!' && c <= '~')
&& !((c >= '0' && c <= '9')
|| ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'Z')));
#else
switch (c)
{
case '!': case '"': case '#': case '$': case '%': case '&':
case '\'': case '(': case ')': case '*': case '+': case ',':
case '-': case '.': case '/':
case ':': case ';': case '<': case '=': case '>': case '?':
case '@':
case '[': case '\\': case ']': case '^': case '_': case '`':
case '{': case '|': case '}': case '~':
return 1;
default:
return 0;
}
#endif
}
bool
c_isspace (int c)
{
return (c == ' ' || c == '\t'
|| c == '\n' || c == '\v' || c == '\f' || c == '\r');
}
bool
c_isupper (int c)
{
#if C_CTYPE_CONSECUTIVE_UPPERCASE
return (c >= 'A' && c <= 'Z');
#else
switch (c)
{
case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
case 'G': case 'H': case 'I': case 'J': case 'K': case 'L':
case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R':
case 'S': case 'T': case 'U': case 'V': case 'W': case 'X':
case 'Y': case 'Z':
return 1;
default:
return 0;
}
#endif
}
bool
c_isxdigit (int c)
{
#if C_CTYPE_CONSECUTIVE_DIGITS \
&& C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
#if C_CTYPE_ASCII
return ((c >= '0' && c <= '9')
|| ((c & ~0x20) >= 'A' && (c & ~0x20) <= 'F'));
#else
return ((c >= '0' && c <= '9')
|| (c >= 'A' && c <= 'F')
|| (c >= 'a' && c <= 'f'));
#endif
#else
switch (c)
{
case '0': case '1': case '2': case '3': case '4': case '5':
case '6': case '7': case '8': case '9':
case 'A': case 'B': case 'C': case 'D': case 'E': case 'F':
case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
return 1;
default:
return 0;
}
#endif
}
int
c_tolower (int c)
{
#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
return (c >= 'A' && c <= 'Z' ? c - 'A' + 'a' : c);
#else
switch (c)
{
case 'A': return 'a';
case 'B': return 'b';
case 'C': return 'c';
case 'D': return 'd';
case 'E': return 'e';
case 'F': return 'f';
case 'G': return 'g';
case 'H': return 'h';
case 'I': return 'i';
case 'J': return 'j';
case 'K': return 'k';
case 'L': return 'l';
case 'M': return 'm';
case 'N': return 'n';
case 'O': return 'o';
case 'P': return 'p';
case 'Q': return 'q';
case 'R': return 'r';
case 'S': return 's';
case 'T': return 't';
case 'U': return 'u';
case 'V': return 'v';
case 'W': return 'w';
case 'X': return 'x';
case 'Y': return 'y';
case 'Z': return 'z';
default: return c;
}
#endif
}
int
c_toupper (int c)
{
#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
return (c >= 'a' && c <= 'z' ? c - 'a' + 'A' : c);
#else
switch (c)
{
case 'a': return 'A';
case 'b': return 'B';
case 'c': return 'C';
case 'd': return 'D';
case 'e': return 'E';
case 'f': return 'F';
case 'g': return 'G';
case 'h': return 'H';
case 'i': return 'I';
case 'j': return 'J';
case 'k': return 'K';
case 'l': return 'L';
case 'm': return 'M';
case 'n': return 'N';
case 'o': return 'O';
case 'p': return 'P';
case 'q': return 'Q';
case 'r': return 'R';
case 's': return 'S';
case 't': return 'T';
case 'u': return 'U';
case 'v': return 'V';
case 'w': return 'W';
case 'x': return 'X';
case 'y': return 'Y';
case 'z': return 'Z';
default: return c;
}
#endif
}
+280
View File
@@ -0,0 +1,280 @@
/* Character handling in C locale.
These functions work like the corresponding functions in <ctype.h>,
except that they have the C (POSIX) locale hardwired, whereas the
<ctype.h> functions' behaviour depends on the current locale set via
setlocale.
Copyright (C) 2000-2003, 2006 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#ifndef C_CTYPE_H
#define C_CTYPE_H
#include <stdbool.h>
#ifdef __cplusplus
extern "C" {
#endif
/* The functions defined in this file assume the "C" locale and a character
set without diacritics (ASCII-US or EBCDIC-US or something like that).
Even if the "C" locale on a particular system is an extension of the ASCII
character set (like on BeOS, where it is UTF-8, or on AmigaOS, where it
is ISO-8859-1), the functions in this file recognize only the ASCII
characters. */
/* Check whether the ASCII optimizations apply. */
/* ANSI C89 (and ISO C99 5.2.1.3 too) already guarantees that
'0', '1', ..., '9' have consecutive integer values. */
#define C_CTYPE_CONSECUTIVE_DIGITS 1
#if ('A' <= 'Z') \
&& ('A' + 1 == 'B') && ('B' + 1 == 'C') && ('C' + 1 == 'D') \
&& ('D' + 1 == 'E') && ('E' + 1 == 'F') && ('F' + 1 == 'G') \
&& ('G' + 1 == 'H') && ('H' + 1 == 'I') && ('I' + 1 == 'J') \
&& ('J' + 1 == 'K') && ('K' + 1 == 'L') && ('L' + 1 == 'M') \
&& ('M' + 1 == 'N') && ('N' + 1 == 'O') && ('O' + 1 == 'P') \
&& ('P' + 1 == 'Q') && ('Q' + 1 == 'R') && ('R' + 1 == 'S') \
&& ('S' + 1 == 'T') && ('T' + 1 == 'U') && ('U' + 1 == 'V') \
&& ('V' + 1 == 'W') && ('W' + 1 == 'X') && ('X' + 1 == 'Y') \
&& ('Y' + 1 == 'Z')
#define C_CTYPE_CONSECUTIVE_UPPERCASE 1
#endif
#if ('a' <= 'z') \
&& ('a' + 1 == 'b') && ('b' + 1 == 'c') && ('c' + 1 == 'd') \
&& ('d' + 1 == 'e') && ('e' + 1 == 'f') && ('f' + 1 == 'g') \
&& ('g' + 1 == 'h') && ('h' + 1 == 'i') && ('i' + 1 == 'j') \
&& ('j' + 1 == 'k') && ('k' + 1 == 'l') && ('l' + 1 == 'm') \
&& ('m' + 1 == 'n') && ('n' + 1 == 'o') && ('o' + 1 == 'p') \
&& ('p' + 1 == 'q') && ('q' + 1 == 'r') && ('r' + 1 == 's') \
&& ('s' + 1 == 't') && ('t' + 1 == 'u') && ('u' + 1 == 'v') \
&& ('v' + 1 == 'w') && ('w' + 1 == 'x') && ('x' + 1 == 'y') \
&& ('y' + 1 == 'z')
#define C_CTYPE_CONSECUTIVE_LOWERCASE 1
#endif
#if (' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
&& ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
&& (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
&& ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
&& ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
&& ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
&& ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
&& ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
&& ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
&& ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
&& ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
&& ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
&& ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
&& ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
&& ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
&& ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
&& ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
&& ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
&& ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
&& ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
&& ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
&& ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
&& ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)
/* The character set is ASCII or one of its variants or extensions, not EBCDIC.
Testing the value of '\n' and '\r' is not relevant. */
#define C_CTYPE_ASCII 1
#endif
/* Function declarations. */
extern bool c_isascii (int c); /* not locale dependent */
extern bool c_isalnum (int c);
extern bool c_isalpha (int c);
extern bool c_isblank (int c);
extern bool c_iscntrl (int c);
extern bool c_isdigit (int c);
extern bool c_islower (int c);
extern bool c_isgraph (int c);
extern bool c_isprint (int c);
extern bool c_ispunct (int c);
extern bool c_isspace (int c);
extern bool c_isupper (int c);
extern bool c_isxdigit (int c);
extern int c_tolower (int c);
extern int c_toupper (int c);
#if defined __GNUC__ && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__ && !defined NO_C_CTYPE_MACROS
/* ASCII optimizations. */
#undef c_isascii
#define c_isascii(c) \
({ int __c = (c); \
(__c >= 0x00 && __c <= 0x7f); \
})
#if C_CTYPE_CONSECUTIVE_DIGITS \
&& C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
#if C_CTYPE_ASCII
#undef c_isalnum
#define c_isalnum(c) \
({ int __c = (c); \
((__c >= '0' && __c <= '9') \
|| ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z')); \
})
#else
#undef c_isalnum
#define c_isalnum(c) \
({ int __c = (c); \
((__c >= '0' && __c <= '9') \
|| (__c >= 'A' && __c <= 'Z') \
|| (__c >= 'a' && __c <= 'z')); \
})
#endif
#endif
#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
#if C_CTYPE_ASCII
#undef c_isalpha
#define c_isalpha(c) \
({ int __c = (c); \
((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'Z'); \
})
#else
#undef c_isalpha
#define c_isalpha(c) \
({ int __c = (c); \
((__c >= 'A' && __c <= 'Z') || (__c >= 'a' && __c <= 'z')); \
})
#endif
#endif
#undef c_isblank
#define c_isblank(c) \
({ int __c = (c); \
(__c == ' ' || __c == '\t'); \
})
#if C_CTYPE_ASCII
#undef c_iscntrl
#define c_iscntrl(c) \
({ int __c = (c); \
((__c & ~0x1f) == 0 || __c == 0x7f); \
})
#endif
#if C_CTYPE_CONSECUTIVE_DIGITS
#undef c_isdigit
#define c_isdigit(c) \
({ int __c = (c); \
(__c >= '0' && __c <= '9'); \
})
#endif
#if C_CTYPE_CONSECUTIVE_LOWERCASE
#undef c_islower
#define c_islower(c) \
({ int __c = (c); \
(__c >= 'a' && __c <= 'z'); \
})
#endif
#if C_CTYPE_ASCII
#undef c_isgraph
#define c_isgraph(c) \
({ int __c = (c); \
(__c >= '!' && __c <= '~'); \
})
#endif
#if C_CTYPE_ASCII
#undef c_isprint
#define c_isprint(c) \
({ int __c = (c); \
(__c >= ' ' && __c <= '~'); \
})
#endif
#if C_CTYPE_ASCII
#undef c_ispunct
#define c_ispunct(c) \
({ int _c = (c); \
(c_isgraph (_c) && ! c_isalnum (_c)); \
})
#endif
#undef c_isspace
#define c_isspace(c) \
({ int __c = (c); \
(__c == ' ' || __c == '\t' \
|| __c == '\n' || __c == '\v' || __c == '\f' || __c == '\r'); \
})
#if C_CTYPE_CONSECUTIVE_UPPERCASE
#undef c_isupper
#define c_isupper(c) \
({ int __c = (c); \
(__c >= 'A' && __c <= 'Z'); \
})
#endif
#if C_CTYPE_CONSECUTIVE_DIGITS \
&& C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
#if C_CTYPE_ASCII
#undef c_isxdigit
#define c_isxdigit(c) \
({ int __c = (c); \
((__c >= '0' && __c <= '9') \
|| ((__c & ~0x20) >= 'A' && (__c & ~0x20) <= 'F')); \
})
#else
#undef c_isxdigit
#define c_isxdigit(c) \
({ int __c = (c); \
((__c >= '0' && __c <= '9') \
|| (__c >= 'A' && __c <= 'F') \
|| (__c >= 'a' && __c <= 'f')); \
})
#endif
#endif
#if C_CTYPE_CONSECUTIVE_UPPERCASE && C_CTYPE_CONSECUTIVE_LOWERCASE
#undef c_tolower
#define c_tolower(c) \
({ int __c = (c); \
(__c >= 'A' && __c <= 'Z' ? __c - 'A' + 'a' : __c); \
})
#undef c_toupper
#define c_toupper(c) \
({ int __c = (c); \
(__c >= 'a' && __c <= 'z' ? __c - 'a' + 'A' : __c); \
})
#endif
#endif /* optimizing for speed */
#ifdef __cplusplus
}
#endif
#endif /* C_CTYPE_H */
@@ -1,5 +1,5 @@
/* Case-insensitive string comparison functions.
Copyright (C) 1995-1996, 2001, 2003, 2005-2006 Free Software Foundation, Inc.
/* Case-insensitive string comparison functions in C locale.
Copyright (C) 1995-1996, 2001, 2003, 2005 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
@@ -15,37 +15,36 @@
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#ifndef _STRCASE_H
#define _STRCASE_H
#ifndef C_STRCASE_H
#define C_STRCASE_H
#include <stddef.h>
/* Include header files with a possibly conflicting declarations of strcasecmp
before we define it as a macro, so that they will be no-ops if included
after strcasecmp is defined as a macro. */
#include <string.h>
/* The functions defined in this file assume the "C" locale and a character
set without diacritics (ASCII-US or EBCDIC-US or something like that).
Even if the "C" locale on a particular system is an extension of the ASCII
character set (like on BeOS, where it is UTF-8, or on AmigaOS, where it
is ISO-8859-1), the functions in this file recognize only the ASCII
characters. More precisely, one of the string arguments must be an ASCII
string; the other one can also contain non-ASCII characters (but then
the comparison result will be nonzero). */
#ifdef __cplusplus
extern "C" {
#endif
/* No known system has a strcasecmp() function that works correctly in
multibyte locales. Therefore we use our version always. */
#define strcasecmp rpl_strcasecmp
/* 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.
Note: This function may, in multibyte locales, return 0 for strings of
different lengths! */
extern int strcasecmp (const char *s1, const char *s2);
than S2. */
extern int c_strcasecmp (const char *s1, const char *s2);
/* Compare no more than N characters of 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.
Note: This function can not work correctly in multibyte locales. */
#if ! HAVE_DECL_STRNCASECMP
extern int strncasecmp (const char *s1, const char *s2, size_t n);
#endif
lexicographically less than, equal to or greater than S2. */
extern int c_strncasecmp (const char *s1, const char *s2, size_t n);
#ifdef __cplusplus
@@ -53,4 +52,4 @@ extern int strncasecmp (const char *s1, const char *s2, size_t n);
#endif
#endif /* _STRCASE_H */
#endif /* C_STRCASE_H */
+57
View File
@@ -0,0 +1,57 @@
/* c-strcasecmp.c -- case insensitive string comparator in C locale
Copyright (C) 1998-1999, 2005-2006 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 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#include <config.h>
/* Specification. */
#include "c-strcase.h"
#include <limits.h>
#include "c-ctype.h"
int
c_strcasecmp (const char *s1, const char *s2)
{
register const unsigned char *p1 = (const unsigned char *) s1;
register const unsigned char *p2 = (const unsigned char *) s2;
unsigned char c1, c2;
if (p1 == p2)
return 0;
do
{
c1 = c_tolower (*p1);
c2 = c_tolower (*p2);
if (c1 == '\0')
break;
++p1;
++p2;
}
while (c1 == c2);
if (UCHAR_MAX <= INT_MAX)
return c1 - c2;
else
/* On machines where 'char' and 'int' are types of the same size, the
difference of two 'unsigned char' values - including the sign bit -
doesn't fit in an 'int'. */
return (c1 > c2 ? 1 : c1 < c2 ? -1 : 0);
}
@@ -1,4 +1,4 @@
/* strncasecmp.c -- case insensitive string comparator
/* c-strncasecmp.c -- case insensitive string comparator in C locale
Copyright (C) 1998-1999, 2005-2006 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
@@ -18,20 +18,14 @@
#include <config.h>
/* Specification. */
#include "strcase.h"
#include "c-strcase.h"
#include <ctype.h>
#include <limits.h>
#define TOLOWER(Ch) (isupper (Ch) ? tolower (Ch) : (Ch))
/* Compare no more than N bytes of 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. */
#include "c-ctype.h"
int
strncasecmp (const char *s1, const char *s2, size_t n)
c_strncasecmp (const char *s1, const char *s2, size_t n)
{
register const unsigned char *p1 = (const unsigned char *) s1;
register const unsigned char *p2 = (const unsigned char *) s2;
@@ -42,8 +36,8 @@ strncasecmp (const char *s1, const char *s2, size_t n)
do
{
c1 = TOLOWER (*p1);
c2 = TOLOWER (*p2);
c1 = c_tolower (*p1);
c2 = c_tolower (*p2);
if (--n == 0 || c1 == '\0')
break;
+3 -2
View File
@@ -1,6 +1,6 @@
/* Host name canonicalization
Copyright (C) 2005, 2006 Free Software Foundation, Inc.
Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
Written by Derek Price <[email protected]>.
@@ -22,8 +22,9 @@
#include "canon-host.h"
#include <string.h>
#include "getaddrinfo.h"
#include "strdup.h"
/* Store the last error for the single-threaded version of this function. */
static int last_cherror;
+2 -2
View File
@@ -1,5 +1,5 @@
/* Return the canonical absolute name of a given file.
Copyright (C) 1996-2006 Free Software Foundation, Inc.
Copyright (C) 1996-2007 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
@@ -246,7 +246,7 @@ canonicalize_filename_mode (const char *name, canonicalize_mode_t can_mode)
goto error;
}
buf = xreadlink (rname, st.st_size);
buf = xreadlink_with_size (rname, st.st_size);
if (!buf)
{
if (can_mode == CAN_MISSING)
+2 -2
View File
@@ -1,5 +1,5 @@
/* Return the canonical absolute name of a given file.
Copyright (C) 1996-2006 Free Software Foundation, Inc.
Copyright (C) 1996-2007 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
@@ -19,7 +19,7 @@
#ifndef CANONICALIZE_H_
# define CANONICALIZE_H_
# ifdef PROVIDE_CANONICALIZE_FILENAME_MODE
# if GNULIB_CANONICALIZE
enum canonicalize_mode_t
{
/* All components must exist. */
+1 -2
View File
@@ -1,5 +1,5 @@
/* provide a chdir function that tries not to fail due to ENAMETOOLONG
Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
Copyright (C) 2004, 2005, 2006, 2007 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
@@ -29,7 +29,6 @@
#include <stdio.h>
#include <assert.h>
#include "memrchr.h"
#include "openat.h"
#ifndef PATH_MAX
+11 -6
View File
@@ -1,7 +1,7 @@
/* provide consistent interface to chown for systems that don't interpret
an ID of -1 as meaning `don't change the corresponding ID'.
Copyright (C) 1997, 2004, 2005, 2006 Free Software Foundation, Inc.
Copyright (C) 1997, 2004, 2005, 2006, 2007 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
@@ -21,18 +21,23 @@
#include <config.h>
/* Disable the definition of chown to rpl_chown (from config.h) in this
file. Otherwise, we'd get conflicting prototypes for rpl_chown on
most systems. */
#undef chown
/* Specification. */
#include <unistd.h>
#include <stdbool.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
/* Below we refer to the system's chown(). */
#undef chown
/* The results of open() in this file are not used with fchdir,
therefore save some unnecessary work in fchdir.c. */
#undef open
#undef close
/* Provide a more-closely POSIX-conforming version of chown on
systems with one or both of the following problems:
- chown doesn't treat an ID of -1 as meaning
+7 -4
View File
@@ -120,6 +120,9 @@
*/
/* #undef GETLOADAVG_PRIVILEGED */
/* Define to 1 when using the gnulib module canonicalize. */
#define GNULIB_CANONICALIZE 1
/* Define to 1 when using the gnulib close-stream module. */
#define GNULIB_CLOSE_STREAM 1
@@ -1767,7 +1770,7 @@
#define gl_va_copy(a,b) ((a) = (b))
/* Define to rpl_gmtime if the replacement function should be used. */
#define gmtime rpl_gmtime
/* #undef gmtime rpl_gmtime */
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
@@ -1782,7 +1785,7 @@
/* #undef intmax_t */
/* Define to rpl_localtime if the replacement function should be used. */
#define localtime rpl_localtime
/* #undef localtime rpl_localtime */
/* Define to `unsigned int' if <sys/types.h> does not define. */
#define major_t unsigned int
@@ -1869,7 +1872,7 @@
#define regexec rpl_regexec
/* Define to rpl_regfree if the replacement should be used. */
#define regfree rpl_regfree
/* #undef regfree rpl_regfree */
/* Define to rpl_rename_dest_slash if the replacement function should be used.
*/
@@ -1895,7 +1898,7 @@
/* #undef strtod */
/* Define to rpl_tzset if the wrapper function should be used. */
#define tzset rpl_tzset
/* #undef tzset rpl_tzset */
/* Define to `int' if <sys/types.h> doesn't define. */
/* #undef uid_t */
+97 -48
View File
@@ -1,17 +1,50 @@
/* lib/config.hin. Generated from configure.ac by autoheader. */
/* Define this to an absolute name of <dirent.h>. */
#undef ABSOLUTE_DIRENT_H
/* Define this to an absolute name of <fcntl.h>. */
#undef ABSOLUTE_FCNTL_H
/* Define this to an absolute name of <inttypes.h>. */
#undef ABSOLUTE_INTTYPES_H
/* Define this to an absolute name of <netinet/in.h>. */
#undef ABSOLUTE_NETINET_IN_H
/* Define this to an absolute name of <stdint.h>. */
#undef ABSOLUTE_STDINT_H
/* Define this to an absolute name of <stdio.h>. */
#undef ABSOLUTE_STDIO_H
/* Define this to an absolute name of <stdlib.h>. */
#undef ABSOLUTE_STDLIB_H
/* Define this to an absolute name of <string.h>. */
#undef ABSOLUTE_STRING_H
/* Define this to an absolute name of <sys/socket.h>. */
#undef ABSOLUTE_SYS_SOCKET_H
/* Define this to an absolute name of <sys/stat.h>. */
#undef ABSOLUTE_SYS_STAT_H
/* Define this to an absolute name of <sys/time.h>. */
#undef ABSOLUTE_SYS_TIME_H
/* Define this to an absolute name of <time.h>. */
#undef ABSOLUTE_TIME_H
/* Define this to an absolute name of <unistd.h>. */
#undef ABSOLUTE_UNISTD_H
/* Define this to an absolute name of <wchar.h>. */
#undef ABSOLUTE_WCHAR_H
/* Define this to an absolute name of <wctype.h>. */
#undef ABSOLUTE_WCTYPE_H
/* Define to the function xargmatch calls on failures. */
#undef ARGMATCH_DIE
@@ -89,6 +122,9 @@
/* Define as good substitute value for EOVERFLOW. */
#undef EOVERFLOW
/* Define if gnulib's fchdir() replacement is used. */
#undef FCHDIR_REPLACEMENT
/* 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. */
@@ -119,15 +155,24 @@
*/
#undef GETLOADAVG_PRIVILEGED
/* Define to 1 when using the gnulib close-stream module. */
/* Define if gettimeofday clobbers the localtime buffer. */
#undef GETTIMEOFDAY_CLOBBERS_LOCALTIME
/* Define to 1 when using the gnulib module canonicalize. */
#undef GNULIB_CANONICALIZE
/* Define to 1 when using the gnulib module close-stream. */
#undef GNULIB_CLOSE_STREAM
/* Define to 1 when using the gnulib fcntl-safer module. */
/* Define to 1 when using the gnulib module fcntl-safer. */
#undef GNULIB_FCNTL_SAFER
/* Define to 1 when using the gnulib fopen-safer module. */
/* Define to 1 when using the gnulib module fopen-safer. */
#undef GNULIB_FOPEN_SAFER
/* Define to 1 when using the gnulib module fts. */
#undef GNULIB_FTS
/* The concatenation of the strings `GNU ', and PACKAGE. */
#undef GNU_PACKAGE
@@ -173,8 +218,8 @@
/* Define to 1 if you have the `acl_set_file' function. */
#undef HAVE_ACL_SET_FILE
/* Define to 1 if you have the `acl_to_text' function. */
#undef HAVE_ACL_TO_TEXT
/* Define to 1 if you have the `acl_trivial' function. */
#undef HAVE_ACL_TRIVIAL
/* Define to 1 if you have the `alarm' function. */
#undef HAVE_ALARM
@@ -424,10 +469,6 @@
*/
#undef HAVE_DECL_MKDIR
/* Define to 1 if you have the declaration of `nanosleep', and to 0 if you
don't. */
#undef HAVE_DECL_NANOSLEEP
/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if
you don't. */
#undef HAVE_DECL_PUTCHAR_UNLOCKED
@@ -460,10 +501,6 @@
don't. */
#undef HAVE_DECL_STRMODE
/* Define to 1 if you have the declaration of `strncasecmp', and to 0 if you
don't. */
#undef HAVE_DECL_STRNCASECMP
/* Define to 1 if you have the declaration of `strndup', and to 0 if you
don't. */
#undef HAVE_DECL_STRNDUP
@@ -527,6 +564,9 @@
/* Define to 1 if you have the `directio' function. */
#undef HAVE_DIRECTIO
/* Define to 1 if you have the <dirent.h> header file. */
#undef HAVE_DIRENT_H
/* Define to 1 if you have the `dirfd' function. */
#undef HAVE_DIRFD
@@ -557,6 +597,9 @@
/* Define to 1 if you have the `fchmod' function. */
#undef HAVE_FCHMOD
/* Define to 1 if you have the `fchmodat' function. */
#undef HAVE_FCHMODAT
/* Define to 1 if you have the `fchown' function. */
#undef HAVE_FCHOWN
@@ -576,6 +619,9 @@
/* Define to 1 if you have the `flockfile' function. */
#undef HAVE_FLOCKFILE
/* Define to 1 if you have the `fork' function. */
#undef HAVE_FORK
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
#undef HAVE_FSEEKO
@@ -705,9 +751,6 @@
/* Define to 1 if you have the `iswctype' function. */
#undef HAVE_ISWCTYPE
/* Define to 1 if you have the `iswprint' function. */
#undef HAVE_ISWPRINT
/* Define to 1 if you have the `iswspace' function. */
#undef HAVE_ISWSPACE
@@ -820,6 +863,9 @@
/* Define to 1 if you have the `microuptime' function. */
#undef HAVE_MICROUPTIME
/* Define to 1 if you have the `mkdirat' function. */
#undef HAVE_MKDIRAT
/* Define to 1 if you have the `mkfifo' function. */
#undef HAVE_MKFIFO
@@ -966,6 +1012,9 @@
/* Define to 1 if you have the <stdio_ext.h> header file. */
#undef HAVE_STDIO_EXT_H
/* Define to 1 if you have the <stdio.h> header file. */
#undef HAVE_STDIO_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
@@ -994,9 +1043,6 @@
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the `strncasecmp' function. */
#undef HAVE_STRNCASECMP
/* Define if you have the strndup() function and it works. */
#undef HAVE_STRNDUP
@@ -1082,9 +1128,6 @@
/* Define to 1 if `st_spare1' is member of `struct stat'. */
#undef HAVE_STRUCT_STAT_ST_SPARE1
/* Define if struct timespec is declared in <time.h>. */
#undef HAVE_STRUCT_TIMESPEC
/* Define to 1 if `tm_zone' is member of `struct tm'. */
#undef HAVE_STRUCT_TM_TM_ZONE
@@ -1252,6 +1295,9 @@
/* Define to 1 if you have the <sys/table.h> header file. */
#undef HAVE_SYS_TABLE_H
/* Define to 1 if you have the <sys/timeb.h> header file. */
#undef HAVE_SYS_TIMEB_H
/* Define to 1 if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H
@@ -1282,9 +1328,8 @@
/* Define to 1 if you have the <termios.h> header file. */
#undef HAVE_TERMIOS_H
/* Define to 1 if localtime_r, etc. have the type signatures that POSIX
requires. */
#undef HAVE_TIME_R_POSIX
/* Define to 1 if you have the <time.h> header file. */
#undef HAVE_TIME_H
/* Define if struct tm has the tm_gmtoff member. */
#undef HAVE_TM_GMTOFF
@@ -1345,6 +1390,12 @@
/* Define to 1 if you have the `vasprintf' function. */
#undef HAVE_VASPRINTF
/* Define to 1 if you have the `vfork' function. */
#undef HAVE_VFORK
/* Define to 1 if you have the <vfork.h> header file. */
#undef HAVE_VFORK_H
/* Define to 1 if you have the <wchar.h> header file. */
#undef HAVE_WCHAR_H
@@ -1381,6 +1432,9 @@
/* Define to 1 if you have the `wmempcpy' function. */
#undef HAVE_WMEMPCPY
/* Define to 1 if `fork' works. */
#undef HAVE_WORKING_FORK
/* Define to 1 if O_NOATIME works. */
#undef HAVE_WORKING_O_NOATIME
@@ -1390,12 +1444,18 @@
/* Define if utimes works properly. */
#undef HAVE_WORKING_UTIMES
/* Define to 1 if `vfork' works. */
#undef HAVE_WORKING_VFORK
/* Define to 1 if you have the <ws2tcpip.h> header file. */
#undef HAVE_WS2TCPIP_H
/* Define to 1 if the system has the type `_Bool'. */
#undef HAVE__BOOL
/* Define to 1 if you have the `_ftime' function. */
#undef HAVE__FTIME
/* Define to 1 if you have the external variable, _system_configuration with a
member named physmem. */
#undef HAVE__SYSTEM_CONFIGURATION
@@ -1535,9 +1595,6 @@
/* Define to 1 if the C compiler supports function prototypes. */
#undef PROTOTYPES
/* Define to 1 to provide canonicalize_filename_mode. */
#undef PROVIDE_CANONICALIZE_FILENAME_MODE
/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
'ptrdiff_t'. */
#undef PTRDIFF_T_SUFFIX
@@ -1546,14 +1603,15 @@
like the one from SunOS 4.1.1_U1. */
#undef RENAME_TRAILING_SLASH_BUG
/* Define if vasnprintf exists but is overridden by gnulib. */
#undef REPLACE_VASNPRINTF
/* Define if vasprintf exists but is overridden by gnulib. */
#undef REPLACE_VASPRINTF
/* the value to which errno is set when rmdir fails on a nonempty directory */
#undef RMDIR_ERRNO_NOT_EMPTY
/* Define to 1 if the `setvbuf' function takes the buffering type as its
second argument and the buffer pointer as the third, as on System V before
release 3. */
#undef SETVBUF_REVERSED
/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
'sig_atomic_t'. */
#undef SIG_ATOMIC_T_SUFFIX
@@ -1633,7 +1691,7 @@
#undef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC
/* Define if tzset clobbers localtime's static buffer. */
#undef TZSET_CLOBBERS_LOCALTIME_BUFFER
#undef TZSET_CLOBBERS_LOCALTIME
/* Define to 1 for Encore UMAX. */
#undef UMAX
@@ -1719,16 +1777,10 @@
# undef _TANDEM_SOURCE
#endif
/* Define to rpl_ if the getcwd replacement function should be used. */
#undef __GETCWD_PREFIX
/* Define to rpl_ if the getopt replacement functions and variables should be
used. */
#undef __GETOPT_PREFIX
/* Define to rpl_ if the mkstemp replacement function should be used. */
#undef __MKSTEMP_PREFIX
/* Define to rpl_ if the openat replacement function should be used. */
#undef __OPENAT_PREFIX
@@ -1738,8 +1790,8 @@
/* Define to rpl_calloc if the replacement function should be used. */
#undef calloc
/* Define to rpl_chown if the replacement function should be used. */
#undef chown
/* Define to rpl_fchownat if the replacement function should be used. */
#undef fchownat
/* Define to a replacement function name for fnmatch(). */
#undef fnmatch
@@ -1756,9 +1808,6 @@
/* Define to a replacement function name for getpass(). */
#undef getpass
/* Define to rpl_gettimeofday if the replacement function should be used. */
#undef gettimeofday
/* Define to `int' if <sys/types.h> doesn't define. */
#undef gid_t
@@ -1810,9 +1859,6 @@
/* Define to the name of the strftime replacement function. */
#undef my_strftime
/* Define to rpl_nanosleep if the replacement function should be used. */
#undef nanosleep
/* Define to `long int' if <sys/types.h> does not define. */
#undef off_t
@@ -1905,6 +1951,9 @@
/* Define as a macro for copying va_list variables. */
#undef va_copy
/* Define as `fork' if `vfork' does not work. */
#undef vfork
/* Define to empty if the keyword `volatile' does not work. Warning: valid
code using `volatile' can become incorrect without. Disable with care. */
#undef volatile
@@ -1,5 +1,5 @@
/* String copying.
Copyright (C) 1995, 2001, 2003 Free Software Foundation, Inc.
/* Wrapper around <dirent.h>.
Copyright (C) 2006-2007 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
@@ -15,27 +15,28 @@
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#ifndef _STPCPY_H
#define _STPCPY_H
#ifndef _GL_DIRENT_H
#define _GL_DIRENT_H
#if HAVE_STPCPY
#include @ABSOLUTE_DIRENT_H@
/* Get stpcpy() declaration. */
#include <string.h>
#else
/* Declare overridden functions. */
#ifdef __cplusplus
extern "C" {
#endif
/* Copy SRC to DST, returning the address of the terminating '\0' in DST. */
extern char *stpcpy (char *dst, const char *src);
#if @REPLACE_FCHDIR@
# define opendir rpl_opendir
extern DIR * opendir (const char *);
# define closedir rpl_closedir
extern int closedir (DIR *);
#endif
#ifdef __cplusplus
}
#endif
#endif
#endif /* _STPCPY_H */
#endif /* _GL_DIRENT_H */
+1 -1
View File
@@ -48,7 +48,7 @@
# endif
# ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT
# define DOUBLE_SLASH_IS_DISTINCT_ROOT 1
# define DOUBLE_SLASH_IS_DISTINCT_ROOT 0
# endif
# if FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
+1 -1
View File
@@ -35,7 +35,7 @@
int
dup_safer (int fd)
{
#ifdef F_DUPFD
#if defined F_DUPFD && !defined FCHDIR_REPLACEMENT
return fcntl (fd, F_DUPFD, STDERR_FILENO + 1);
#else
/* fd_safer calls us back, but eventually the recursion unwinds and
+4 -2
View File
@@ -1,6 +1,6 @@
/* Duplicate an open file descriptor to a specified file descriptor.
Copyright (C) 1999, 2004, 2005, 2006 Free Software Foundation, Inc.
Copyright (C) 1999, 2004, 2005, 2006, 2007 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
@@ -20,9 +20,11 @@
#include <config.h>
/* Specification. */
#include <unistd.h>
#include <errno.h>
#include <fcntl.h>
#include <unistd.h>
#ifndef F_DUPFD
static int
+32 -8
View File
@@ -1,7 +1,7 @@
/* exclude.c -- exclude file names
Copyright (C) 1992, 1993, 1994, 1997, 1999, 2000, 2001, 2002, 2003,
2004, 2005, 2006 Free Software Foundation, Inc.
2004, 2005, 2006, 2007 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
@@ -33,7 +33,6 @@
#include "exclude.h"
#include "fnmatch.h"
#include "strcase.h"
#include "xalloc.h"
#include "verify.h"
@@ -45,13 +44,16 @@
#ifndef FNM_CASEFOLD
# define FNM_CASEFOLD 0
#endif
#ifndef FNM_EXTMATCH
# define FNM_EXTMATCH 0
#endif
#ifndef FNM_LEADING_DIR
# define FNM_LEADING_DIR 0
#endif
verify (((EXCLUDE_ANCHORED | EXCLUDE_INCLUDE | EXCLUDE_WILDCARDS)
& (FNM_PATHNAME | FNM_NOESCAPE | FNM_PERIOD | FNM_LEADING_DIR
| FNM_CASEFOLD))
| FNM_CASEFOLD | FNM_EXTMATCH))
== 0);
/* An exclude pattern-options pair. The options are fnmatch options
@@ -97,14 +99,12 @@ fnmatch_no_wildcards (char const *pattern, char const *f, int options)
{
if (! (options & FNM_LEADING_DIR))
return ((options & FNM_CASEFOLD)
? strcasecmp (pattern, f)
? mbscasecmp (pattern, f)
: strcmp (pattern, f));
else
else if (! (options & FNM_CASEFOLD))
{
size_t patlen = strlen (pattern);
int r = ((options & FNM_CASEFOLD)
? strncasecmp (pattern, f, patlen)
: strncmp (pattern, f, patlen));
int r = strncmp (pattern, f, patlen);
if (! r)
{
r = f[patlen];
@@ -113,6 +113,30 @@ fnmatch_no_wildcards (char const *pattern, char const *f, int options)
}
return r;
}
else
{
/* Walk through a copy of F, seeing whether P matches any prefix
of F.
FIXME: This is an O(N**2) algorithm; it should be O(N).
Also, the copy should not be necessary. However, fixing this
will probably involve a change to the mbs* API. */
char *fcopy = xstrdup (f);
char *p;
int r;
for (p = fcopy; ; *p++ = '/')
{
p = strchr (p, '/');
if (p)
*p = '\0';
r = mbscasecmp (pattern, fcopy);
if (!p || r <= 0)
break;
}
free (fcopy);
return r;
}
}
bool
+3 -2
View File
@@ -1,6 +1,6 @@
/* Failure exit status
Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
Copyright (C) 2002, 2003, 2005, 2006, 2007 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
@@ -20,6 +20,7 @@
#include <config.h>
#include "exitfail.h"
#include "exit.h"
#include <stdlib.h>
int volatile exit_failure = EXIT_FAILURE;
-14
View File
@@ -1,14 +0,0 @@
#include <config.h>
#include <sys/types.h>
#include <errno.h>
/* A trivial substitute for `fchdir'.
DJGPP 2.03 and earlier don't have `fchdir'. */
int
fchdir (int fd)
{
errno = ENOSYS;
return -1;
}
+279
View File
@@ -0,0 +1,279 @@
/* fchdir replacement.
Copyright (C) 2006, 2007 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 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#include <config.h>
/* Specification. */
#include <unistd.h>
#include <errno.h>
#include <fcntl.h>
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include "canonicalize.h"
#include "dirfd.h"
/* This replacement assumes that a directory is not renamed while opened
through a file descriptor. */
/* Array of file descriptors opened. If it points to a directory, it stores
info about this directory; otherwise it stores an errno value of ENOTDIR. */
typedef struct
{
char *name; /* Absolute name of the directory, or NULL. */
int saved_errno; /* If name == NULL: The error code describing the failure
reason. */
} dir_info_t;
static dir_info_t *dirs;
static size_t dirs_allocated;
/* Try to ensure dirs has enough room for a slot at index fd. */
static void
ensure_dirs_slot (size_t fd)
{
if (fd >= dirs_allocated)
{
size_t new_allocated;
dir_info_t *new_dirs;
size_t i;
new_allocated = 2 * dirs_allocated + 1;
if (new_allocated <= fd)
new_allocated = fd + 1;
new_dirs =
(dirs != NULL
? (dir_info_t *) realloc (dirs, new_allocated * sizeof (dir_info_t))
: (dir_info_t *) malloc (new_allocated * sizeof (dir_info_t)));
if (new_dirs != NULL)
{
for (i = dirs_allocated; i < new_allocated; i++)
{
new_dirs[i].name = NULL;
new_dirs[i].saved_errno = ENOTDIR;
}
dirs = new_dirs;
dirs_allocated = new_allocated;
}
}
}
/* Override open() and close(), to keep track of the open file descriptors. */
int
close (int fd)
#undef close
{
int retval = close (fd);
if (retval >= 0 && fd >= 0 && fd < dirs_allocated)
{
if (dirs[fd].name != NULL)
free (dirs[fd].name);
dirs[fd].name = NULL;
dirs[fd].saved_errno = ENOTDIR;
}
return retval;
}
int
open (const char *filename, int flags, ...)
#undef open
{
mode_t mode;
int fd;
struct stat statbuf;
mode = 0;
if (flags & O_CREAT)
{
va_list arg;
va_start (arg, flags);
/* If mode_t is narrower than int, use the promoted type (int),
not mode_t. Use sizeof to guess whether mode_t is narrower;
we don't know of any practical counterexamples. */
mode = (sizeof (mode_t) < sizeof (int)
? va_arg (arg, int)
: va_arg (arg, mode_t));
va_end (arg);
}
fd = open (filename, flags, mode);
if (fd >= 0)
{
ensure_dirs_slot (fd);
if (fd < dirs_allocated
&& fstat (fd, &statbuf) >= 0 && S_ISDIR (statbuf.st_mode))
{
dirs[fd].name = canonicalize_file_name (filename);
if (dirs[fd].name == NULL)
dirs[fd].saved_errno = errno;
}
}
return fd;
}
/* Override opendir() and closedir(), to keep track of the open file
descriptors. Needed because there is a function dirfd(). */
int
closedir (DIR *dp)
#undef closedir
{
int fd = dirfd (dp);
int retval = closedir (dp);
if (retval >= 0 && fd >= 0 && fd < dirs_allocated)
{
if (dirs[fd].name != NULL)
free (dirs[fd].name);
dirs[fd].name = NULL;
dirs[fd].saved_errno = ENOTDIR;
}
return retval;
}
DIR *
opendir (const char *filename)
#undef opendir
{
DIR *dp;
dp = opendir (filename);
if (dp != NULL)
{
int fd = dirfd (dp);
if (fd >= 0)
{
ensure_dirs_slot (fd);
if (fd < dirs_allocated)
{
dirs[fd].name = canonicalize_file_name (filename);
if (dirs[fd].name == NULL)
dirs[fd].saved_errno = errno;
}
}
}
return dp;
}
/* Override dup() and dup2(), to keep track of open file descriptors. */
int
dup (int oldfd)
#undef dup
{
int newfd = dup (oldfd);
if (oldfd >= 0 && newfd >= 0)
{
ensure_dirs_slot (newfd);
if (newfd < dirs_allocated)
{
if (oldfd < dirs_allocated)
{
if (dirs[oldfd].name != NULL)
{
dirs[newfd].name = strdup (dirs[oldfd].name);
if (dirs[newfd].name == NULL)
dirs[newfd].saved_errno = ENOMEM;
}
else
{
dirs[newfd].name = NULL;
dirs[newfd].saved_errno = dirs[oldfd].saved_errno;
}
}
else
{
dirs[newfd].name = NULL;
dirs[newfd].saved_errno = ENOMEM;
}
}
}
return newfd;
}
int
dup2 (int oldfd, int newfd)
#undef dup2
{
int retval = dup2 (oldfd, newfd);
if (retval >= 0 && oldfd >= 0 && newfd >= 0 && newfd != oldfd)
{
ensure_dirs_slot (newfd);
if (newfd < dirs_allocated)
{
if (oldfd < dirs_allocated)
{
if (dirs[oldfd].name != NULL)
{
dirs[newfd].name = strdup (dirs[oldfd].name);
if (dirs[newfd].name == NULL)
dirs[newfd].saved_errno = ENOMEM;
}
else
{
dirs[newfd].name = NULL;
dirs[newfd].saved_errno = dirs[oldfd].saved_errno;
}
}
else
{
dirs[newfd].name = NULL;
dirs[newfd].saved_errno = ENOMEM;
}
}
}
return retval;
}
/* Implement fchdir() in terms of chdir(). */
int
fchdir (int fd)
{
if (fd >= 0)
{
if (fd < dirs_allocated)
{
if (dirs[fd].name != NULL)
return chdir (dirs[fd].name);
else
{
errno = dirs[fd].saved_errno;
return -1;
}
}
else
{
errno = ENOMEM;
return -1;
}
}
else
{
errno = EBADF;
return -1;
}
}
+50
View File
@@ -0,0 +1,50 @@
/* This function serves as replacement for a missing fchownat function,
as well as a work around for the fchownat bug in glibc-2.4:
<http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html>
when the buggy fchownat-with-AT_SYMLINK_NOFOLLOW operates on a symlink, it
mistakenly affects the symlink referent, rather than the symlink itself.
Copyright (C) 2006-2007 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 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
/* written by Jim Meyering */
#include <config.h>
#include "openat.h"
#include <unistd.h>
#include "dirname.h" /* solely for definition of IS_ABSOLUTE_FILE_NAME */
#include "lchown.h"
#include "save-cwd.h"
#include "openat-priv.h"
/* Replacement for Solaris' function by the same name.
Invoke chown or lchown on file, FILE, using OWNER and GROUP, in the
directory open on descriptor FD. If FLAG is AT_SYMLINK_NOFOLLOW, then
use lchown, otherwise, use chown. If possible, do it without changing
the working directory. Otherwise, resort to using save_cwd/fchdir,
then mkdir/restore_cwd. If either the save_cwd or the restore_cwd
fails, then give a diagnostic and exit nonzero. */
#define AT_FUNC_NAME fchownat
#define AT_FUNC_F1 lchown
#define AT_FUNC_F2 chown
#define AT_FUNC_USE_F1_COND flag == AT_SYMLINK_NOFOLLOW
#define AT_FUNC_POST_FILE_PARAM_DECLS , uid_t owner, gid_t group, int flag
#define AT_FUNC_POST_FILE_ARGS , owner, group
#include "at-func.c"
+19
View File
@@ -26,6 +26,25 @@
#include <unistd.h>
#include @ABSOLUTE_FCNTL_H@
/* Declare overridden functions. */
#ifdef __cplusplus
extern "C" {
#endif
#ifdef FCHDIR_REPLACEMENT
# define open rpl_open
extern int open (const char *, int, ...);
#endif
#ifdef __cplusplus
}
#endif
/* Fix up the O_* macros. */
#if !defined O_DIRECT && defined O_DIRECTIO
/* Tru64 spells it `O_DIRECTIO'. */
# define O_DIRECT O_DIRECTIO
+87
View File
@@ -0,0 +1,87 @@
/* Test whether a file has a nontrivial access control list.
Copyright (C) 2002, 2003, 2005, 2006, 2007 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 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Written by Paul Eggert and Andreas Gruenbacher. */
#include <config.h>
#include "acl.h"
#include "acl-internal.h"
/* Return 1 if NAME has a nontrivial access control list, 0 if NAME
only has no or a base access control list, and -1 (setting errno)
on error. SB must be set to the stat buffer of FILE. */
int
file_has_acl (char const *name, struct stat const *sb)
{
if (! S_ISLNK (sb->st_mode))
{
#if USE_ACL && HAVE_ACL_TRIVIAL
/* Solaris 10, which also has NFSv4 and ZFS style ACLs. */
return acl_trivial (name);
#elif USE_ACL && HAVE_ACL && defined GETACLCNT
/* Solaris 2.5 through Solaris 9, and contemporaneous versions of
HP-UX and Unixware. */
int n = acl (name, GETACLCNT, 0, NULL);
return n < 0 ? (errno == ENOSYS ? 0 : -1) : (MIN_ACL_ENTRIES < n);
#elif USE_ACL && HAVE_ACL_GET_FILE && HAVE_ACL_FREE
/* POSIX 1003.1e (draft 17 -- abandoned) specific version. */
int ret;
if (HAVE_ACL_EXTENDED_FILE)
ret = acl_extended_file (name);
else
{
acl_t acl = acl_get_file (name, ACL_TYPE_ACCESS);
if (acl)
{
ret = (3 < acl_entries (acl));
acl_free (acl);
if (ret == 0 && S_ISDIR (sb->st_mode))
{
acl = acl_get_file (name, ACL_TYPE_DEFAULT);
if (acl)
{
ret = (0 < acl_entries (acl));
acl_free (acl);
}
else
ret = -1;
}
}
else
ret = -1;
}
if (ret < 0)
return ACL_NOT_WELL_SUPPORTED (errno) ? 0 : -1;
return ret;
#endif
}
/* FIXME: Add support for AIX, Irix, and Tru64. Please see Samba's
source/lib/sysacls.c file for fix-related ideas. */
return 0;
}
+3 -4
View File
@@ -1,4 +1,4 @@
/* Copyright (C) 1991,1992,1993,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006
/* Copyright (C) 1991,1992,1993,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
@@ -40,15 +40,14 @@
#include <string.h>
#define WIDE_CHAR_SUPPORT \
(HAVE_WCTYPE_H && HAVE_WCHAR_H && HAVE_BTOWC && HAVE_ISWCTYPE \
(HAVE_WCTYPE_H && HAVE_BTOWC && HAVE_ISWCTYPE \
&& HAVE_WMEMCHR && (HAVE_WMEMCPY || HAVE_WMEMPCPY))
/* For platform which support the ISO C amendement 1 functionality we
support user defined character classes. */
#if defined _LIBC || WIDE_CHAR_SUPPORT
/* Solaris 2.5 has a bug: <wchar.h> must be included before <wctype.h>. */
# include <wchar.h>
# include <wctype.h>
# include <wchar.h>
#endif
/* We need some of the locale data (the collation sequence information)
+24 -22
View File
@@ -1,5 +1,7 @@
/* Copyright (C) 1991, 1992, 1993, 1996, 1997, 1998, 1999, 2001, 2002, 2003,
2005 Free Software Foundation, Inc.
2005, 2007 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -16,48 +18,48 @@
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#ifndef _FNMATCH_H
# define _FNMATCH_H 1
#define _FNMATCH_H 1
# ifdef __cplusplus
#ifdef __cplusplus
extern "C" {
# endif
#endif
/* We #undef these before defining them because some losing systems
(HP-UX A.08.07 for example) define these in <unistd.h>. */
# undef FNM_PATHNAME
# undef FNM_NOESCAPE
# undef FNM_PERIOD
#undef FNM_PATHNAME
#undef FNM_NOESCAPE
#undef FNM_PERIOD
/* Bits set in the FLAGS argument to `fnmatch'. */
# define FNM_PATHNAME (1 << 0) /* No wildcard can ever match `/'. */
# define FNM_NOESCAPE (1 << 1) /* Backslashes don't quote special chars. */
# define FNM_PERIOD (1 << 2) /* Leading `.' is matched only explicitly. */
#define FNM_PATHNAME (1 << 0) /* No wildcard can ever match `/'. */
#define FNM_NOESCAPE (1 << 1) /* Backslashes don't quote special chars. */
#define FNM_PERIOD (1 << 2) /* Leading `.' is matched only explicitly. */
# if !defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _GNU_SOURCE
# define FNM_FILE_NAME FNM_PATHNAME /* Preferred GNU name. */
# define FNM_LEADING_DIR (1 << 3) /* Ignore `/...' after a match. */
# define FNM_CASEFOLD (1 << 4) /* Compare without regard to case. */
# define FNM_EXTMATCH (1 << 5) /* Use ksh-like extended matching. */
# endif
#if !defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _GNU_SOURCE
# define FNM_FILE_NAME FNM_PATHNAME /* Preferred GNU name. */
# define FNM_LEADING_DIR (1 << 3) /* Ignore `/...' after a match. */
# define FNM_CASEFOLD (1 << 4) /* Compare without regard to case. */
# define FNM_EXTMATCH (1 << 5) /* Use ksh-like extended matching. */
#endif
/* Value returned by `fnmatch' if STRING does not match PATTERN. */
# define FNM_NOMATCH 1
#define FNM_NOMATCH 1
/* This value is returned if the implementation does not support
`fnmatch'. Since this is not the case here it will never be
returned but the conformance test suites still require the symbol
to be defined. */
# ifdef _XOPEN_SOURCE
# define FNM_NOSYS (-1)
# endif
#ifdef _XOPEN_SOURCE
# define FNM_NOSYS (-1)
#endif
/* Match NAME against the file name pattern PATTERN,
returning zero if it matches, FNM_NOMATCH if not. */
extern int fnmatch (const char *__pattern, const char *__name,
int __flags);
# ifdef __cplusplus
#ifdef __cplusplus
}
# endif
#endif
#endif /* fnmatch.h */
+54 -36
View File
@@ -1,5 +1,6 @@
/* Copyright (C) 1991,1992,1993,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006
Free Software Foundation, Inc.
Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -233,8 +234,7 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end,
c = FOLD ((UCHAR) *p);
++p;
if (c == fn)
goto matched;
goto normal_bracket;
}
else if (c == L_('[') && *p == L_(':'))
{
@@ -494,24 +494,31 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end,
idx = 0;
elem = hash % table_size;
second = hash % (table_size - 2);
while (symb_table[2 * elem] != 0)
if (symb_table[2 * elem] != 0)
{
/* First compare the hashing value. */
if (symb_table[2 * elem] == hash
&& c1 == extra[symb_table[2 * elem + 1]]
&& memcmp (str,
&extra[symb_table[2 * elem + 1]
+ 1], c1) == 0)
{
/* Yep, this is the entry. */
idx = symb_table[2 * elem + 1];
idx += 1 + extra[idx];
break;
}
second = hash % (table_size - 2) + 1;
/* Next entry. */
elem += second;
do
{
/* First compare the hashing value. */
if (symb_table[2 * elem] == hash
&& (c1
== extra[symb_table[2 * elem + 1]])
&& memcmp (str,
&extra[symb_table[2 * elem
+ 1]
+ 1], c1) == 0)
{
/* Yep, this is the entry. */
idx = symb_table[2 * elem + 1];
idx += 1 + extra[idx];
break;
}
/* Next entry. */
elem += second;
}
while (symb_table[2 * elem] != 0);
}
if (symb_table[2 * elem] != 0)
@@ -592,6 +599,12 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end,
if (!is_range && c == fn)
goto matched;
#if _LIBC
/* This is needed if we goto normal_bracket; from
outside of is_seqval's scope. */
is_seqval = false;
#endif
cold = c;
c = *p++;
}
@@ -703,25 +716,30 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end,
idx = 0;
elem = hash % table_size;
second = hash % (table_size - 2);
while (symb_table[2 * elem] != 0)
if (symb_table[2 * elem] != 0)
{
/* First compare the hashing value. */
if (symb_table[2 * elem] == hash
&& (c1
== extra[symb_table[2 * elem + 1]])
&& memcmp (str,
&extra[symb_table[2 * elem + 1]
+ 1], c1) == 0)
{
/* Yep, this is the entry. */
idx = symb_table[2 * elem + 1];
idx += 1 + extra[idx];
break;
}
second = hash % (table_size - 2) + 1;
/* Next entry. */
elem += second;
do
{
/* First compare the hashing value. */
if (symb_table[2 * elem] == hash
&& (c1
== extra[symb_table[2 * elem + 1]])
&& memcmp (str,
&extra[symb_table[2 * elem + 1]
+ 1], c1) == 0)
{
/* Yep, this is the entry. */
idx = symb_table[2 * elem + 1];
idx += 1 + extra[idx];
break;
}
/* Next entry. */
elem += second;
}
while (symb_table[2 * elem] != 0);
}
if (symb_table[2 * elem] != 0)
+5
View File
@@ -56,6 +56,11 @@
# include "full-read.h"
#endif
/* The results of open() in this file are not used with fchdir,
therefore save some unnecessary work in fchdir.c. */
#undef open
#undef close
/* Many space usage primitives use all 1 bits to denote a value that is
not applicable or unknown. Propagate this information by returning
a uintmax_t value that is all 1 bits if X is all 1 bits, even if X
+4 -2
View File
@@ -3,6 +3,9 @@
#include <config.h>
/* Specification. */
#include <unistd.h>
#include <sys/types.h>
#include <fcntl.h>
@@ -21,7 +24,6 @@ ftruncate (int fd, off_t length)
# include <sys/stat.h>
# include <errno.h>
# include <unistd.h>
int
ftruncate (int fd, off_t length)
@@ -64,7 +66,7 @@ ftruncate (int fd, off_t length)
}
# else /* not F_CHSIZE nor F_FREESP */
# if HAVE_CHSIZE
# if HAVE_CHSIZE /* native Windows, e.g. mingw */
int
ftruncate (int fd, off_t length)
+28 -26
View File
@@ -1,6 +1,6 @@
/* Traverse a file hierarchy.
Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
Copyright (C) 2004, 2005, 2006, 2007 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
@@ -138,6 +138,18 @@ enum Fts_stat
# define HAVE_OPENAT_SUPPORT 0
#endif
#ifdef NDEBUG
# define fts_assert(expr) ((void) 0)
#else
# define fts_assert(expr) \
do \
{ \
if (!(expr)) \
abort (); \
} \
while (false)
#endif
static FTSENT *fts_alloc (FTS *, const char *, size_t) internal_function;
static FTSENT *fts_build (FTS *, int) internal_function;
static void fts_lfree (FTSENT *) internal_function;
@@ -150,13 +162,13 @@ static unsigned short int fts_stat (FTS *, FTSENT *, bool) internal_function;
static int fts_safe_changedir (FTS *, FTSENT *, int, const char *)
internal_function;
#if _LGPL_PACKAGE
#if GNULIB_FTS
# include "fts-cycle.c"
#else
static bool enter_dir (FTS *fts, FTSENT *ent) { return true; }
static void leave_dir (FTS *fts, FTSENT *ent) {}
static bool setup_dir (FTS *fts) { return true; }
static void free_dir (FTS *fts) {}
#else
# include "fts-cycle.c"
#endif
#ifndef MAX
@@ -236,8 +248,7 @@ fd_ring_clear (I_ring *fd_ring)
static void
fts_set_stat_required (FTSENT *p, bool required)
{
if (p->fts_info != FTS_NSOK)
abort ();
fts_assert (p->fts_info == FTS_NSOK);
p->fts_statp->st_size = (required
? FTS_STAT_REQUIRED
: FTS_NO_STAT_REQUIRED);
@@ -274,8 +285,7 @@ internal_function
cwd_advance_fd (FTS *sp, int fd, bool chdir_down_one)
{
int old = sp->fts_cwd_fd;
if (old == fd && old != AT_FDCWD)
abort ();
fts_assert (old != fd || old == AT_FDCWD);
if (chdir_down_one)
{
@@ -688,6 +698,7 @@ fts_read (register FTS *sp)
/* Move to the next node on this level. */
next: tmp = p;
if ((p = p->fts_link) != NULL) {
sp->fts_cur = p;
free(tmp);
/*
@@ -698,7 +709,6 @@ next: tmp = p;
if (p->fts_level == FTS_ROOTLEVEL) {
if (RESTORE_INITIAL_CWD(sp)) {
SET(FTS_STOP);
sp->fts_cur = p;
return (NULL);
}
fts_load(sp, p);
@@ -728,22 +738,15 @@ name: t = sp->fts_path + NAPPEND(p->fts_parent);
*t++ = '/';
memmove(t, p->fts_name, p->fts_namelen + 1);
check_for_dir:
sp->fts_cur = p;
if (p->fts_info == FTS_NSOK)
{
enum Fts_stat need_stat = p->fts_statp->st_size;
switch (need_stat)
{
case FTS_STAT_REQUIRED:
p->fts_info = fts_stat(sp, p, false);
break;
case FTS_NO_STAT_REQUIRED:
break;
default:
abort ();
}
if (p->fts_statp->st_size == FTS_STAT_REQUIRED)
p->fts_info = fts_stat(sp, p, false);
else
fts_assert (p->fts_statp->st_size == FTS_NO_STAT_REQUIRED);
}
sp->fts_cur = p;
if (p->fts_info == FTS_D)
{
/* Now that P->fts_statp is guaranteed to be valid,
@@ -763,6 +766,7 @@ check_for_dir:
/* Move up to the parent node. */
p = tmp->fts_parent;
sp->fts_cur = p;
free(tmp);
if (p->fts_level == FTS_ROOTPARENTLEVEL) {
@@ -775,8 +779,7 @@ check_for_dir:
return (sp->fts_cur = NULL);
}
if (p->fts_info == FTS_NSOK)
abort ();
fts_assert (p->fts_info != FTS_NSOK);
/* NUL terminate the file name. */
sp->fts_path[p->fts_pathlen] = '\0';
@@ -809,7 +812,6 @@ check_for_dir:
p->fts_info = p->fts_errno ? FTS_ERR : FTS_DP;
if (p->fts_errno == 0)
LEAVE_DIR (sp, p, "3");
sp->fts_cur = p;
return ISSET(FTS_STOP) ? NULL : p;
}
@@ -1345,7 +1347,7 @@ fd_ring_check (FTS const *sp)
error (0, errno, "parent: %s", c2);
free (cwd);
free (c2);
abort ();
fts_assert (0);
}
close (cwd_fd);
cwd_fd = parent_fd;
@@ -1403,7 +1405,7 @@ err: memset(sbp, 0, sizeof(struct stat));
return (p->fts_level == FTS_ROOTLEVEL ? FTS_D : FTS_DOT);
}
#if _LGPL_PACKAGE
#if !GNULIB_FTS
{
/*
* Cycle detection is done by brute force when the directory
+2 -3
View File
@@ -1,6 +1,6 @@
/* Traverse a file hierarchy.
Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
Copyright (C) 2004, 2005, 2006, 2007 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
@@ -52,7 +52,6 @@
# ifdef _LIBC
# include <features.h>
# define _LGPL_PACKAGE 1
# else
# undef __THROW
# define __THROW
@@ -142,7 +141,7 @@ typedef struct {
# define FTS_STOP 0x2000 /* (private) unrecoverable error */
int fts_options; /* fts_open options, global flags */
# if !_LGPL_PACKAGE
# if GNULIB_FTS
union {
/* This data structure is used if FTS_TIGHT_CYCLE_CHECK is
specified. It records the directories between a starting
+1
View File
@@ -52,6 +52,7 @@ values[] =
{ EAI_SERVICE, N_("Servname not supported for ai_socktype") },
{ EAI_SOCKTYPE, N_("ai_socktype not supported") },
{ EAI_SYSTEM, N_("System error") },
{ EAI_OVERFLOW, N_("Argument buffer too small") },
#ifdef __USE_GNU
{ EAI_INPROGRESS, N_("Processing request in progress") },
{ EAI_CANCELED, N_("Request canceled") },
+5 -4
View File
@@ -1,5 +1,5 @@
/* Get address information (partial implementation).
Copyright (C) 1997, 2001, 2002, 2004, 2005, 2006 Free Software
Copyright (C) 1997, 2001, 2002, 2004, 2005, 2006, 2007 Free Software
Foundation, Inc.
Contributed by Simon Josefsson <simon@josefsson.org>.
@@ -28,9 +28,12 @@
/* Get calloc. */
#include <stdlib.h>
/* Get memcpy. */
/* Get memcpy, strdup. */
#include <string.h>
/* Get snprintf. */
#include <stdio.h>
#include <stdbool.h>
#include "gettext.h"
@@ -38,8 +41,6 @@
#define N_(String) String
#include "inet_ntop.h"
#include "snprintf.h"
#include "strdup.h"
/* BeOS has AF_INET, but not PF_INET. */
#ifndef PF_INET
+18 -7
View File
@@ -1,4 +1,4 @@
/* Copyright (C) 1991,92,93,94,95,96,97,98,99,2004,2005,2006 Free Software
/* Copyright (C) 1991,92,93,94,95,96,97,98,99,2004,2005,2006,2007 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
@@ -18,7 +18,8 @@
#if !_LIBC
# include <config.h>
# include "getcwd.h"
# include <unistd.h>
# include "dirfd.h"
#endif
#include <errno.h>
@@ -49,8 +50,6 @@
# ifndef mempcpy
# define mempcpy __mempcpy
# endif
#else
# include "mempcpy.h"
#endif
#include <limits.h>
@@ -97,6 +96,11 @@
# define __opendir opendir
# define __readdir readdir
#endif
/* The results of opendir() in this file are not used with dirfd and fchdir,
therefore save some unnecessary recursion in fchdir.c. */
#undef opendir
#undef closedir
/* Get the name of the current working directory, and put it in SIZE
bytes of BUF. Returns NULL if the directory couldn't be determined or
@@ -137,13 +141,18 @@ __getcwd (char *buf, size_t size)
size_t allocated = size;
size_t used;
#if HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD
#if HAVE_PARTLY_WORKING_GETCWD
/* The system getcwd works, except it sometimes fails when it
shouldn't, setting errno to ERANGE, ENAMETOOLONG, or ENOENT. If
AT_FDCWD is not defined, the algorithm below is O(N**2) and this
is much slower than the system getcwd (at least on GNU/Linux).
So trust the system getcwd's results unless they look
suspicious. */
suspicious.
Use the system getcwd even if we have openat support, since the
system getcwd works even when a parent is unreadable, while the
openat-based approach does not. */
# undef getcwd
dir = getcwd (buf, size);
if (dir || (errno != ERANGE && !is_ENAMETOOLONG (errno) && errno != ENOENT))
@@ -226,6 +235,8 @@ __getcwd (char *buf, size_t size)
dirstream = fdopendir (fd);
if (dirstream == NULL)
goto lose;
/* Reset fd. It may have been closed by fdopendir. */
fd = dirfd (dirstream);
fd_needs_closing = false;
#else
dirstream = __opendir (dotlist);
@@ -380,7 +391,7 @@ __getcwd (char *buf, size_t size)
used = dir + allocated - dirp;
memmove (dir, dirp, used);
if (buf == NULL && size == 0)
if (size == 0)
/* Ensure that the buffer is only as large as necessary. */
buf = realloc (dir, used);
-40
View File
@@ -1,40 +0,0 @@
/* Get the working directory, compatibly with the GNU C Library.
Copyright (C) 2004-2005 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 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
/* Written by Paul Eggert. */
/* Include the headers that might declare getcwd so that they will not
cause confusion if included after this file. */
#include <stdlib.h>
#include <unistd.h>
/* If necessary, systematically rename identifiers so that they do not
collide with the system function. Renaming avoids problems with
some compilers and linkers. */
#ifdef __GETCWD_PREFIX
# undef getcwd
# define __GETCWD_CONCAT(x, y) x ## y
# define __GETCWD_XCONCAT(x, y) __GETCWD_CONCAT (x, y)
# define __GETCWD_ID(y) __GETCWD_XCONCAT (__GETCWD_PREFIX, y)
# define getcwd __GETCWD_ID (getcwd)
/* See the POSIX:2001 specification
<http://www.opengroup.org/susv3xsh/getcwd.html>. */
char *getcwd (char *, size_t);
#endif
+84 -83
View File
@@ -66,7 +66,7 @@
/* Parse a string into an internal time stamp.
Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006 Free Software
Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
@@ -100,6 +100,7 @@
#include <config.h>
#include "getdate.h"
#include "timespec.h"
/* There's no need to extend the stack, so there's no need to involve
alloca. */
@@ -337,16 +338,16 @@ static long int time_zone_hhmm (textint, long int);
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
{/* Line 198 of yacc.c. */
#line 213 "getdate.y"
{/* Line 191 of yacc.c. */
#line 214 "getdate.y"
long int intval;
textint textintval;
struct timespec timespec;
relative_time rel;
}
/* Line 198 of yacc.c. */
#line 350 "getdate.c"
/* Line 191 of yacc.c. */
#line 351 "getdate.c"
YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
@@ -359,7 +360,7 @@ typedef union YYSTYPE
/* Copy the second part of user declarations. */
/* Line 221 of yacc.c. */
#line 363 "getdate.c"
#line 364 "getdate.c"
#ifdef short
# undef short
@@ -671,14 +672,14 @@ static const yytype_int8 yyrhs[] =
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
0, 239, 239, 240, 244, 251, 253, 257, 259, 261,
263, 265, 267, 269, 273, 281, 289, 299, 306, 318,
323, 331, 333, 343, 345, 347, 352, 357, 362, 367,
375, 380, 400, 407, 415, 423, 428, 434, 439, 448,
458, 471, 473, 475, 477, 479, 481, 483, 485, 487,
489, 491, 493, 495, 497, 499, 501, 503, 505, 507,
509, 511, 515, 517, 519, 521, 523, 525, 529, 529,
532, 533, 538, 539, 544, 582, 583, 589, 590
0, 240, 240, 241, 245, 252, 254, 258, 260, 262,
264, 266, 268, 270, 274, 282, 290, 300, 307, 319,
324, 332, 334, 344, 346, 348, 353, 358, 363, 368,
376, 381, 401, 408, 416, 424, 429, 435, 440, 449,
459, 472, 474, 476, 478, 480, 482, 484, 486, 488,
490, 492, 494, 496, 498, 500, 502, 504, 506, 508,
510, 512, 516, 518, 520, 522, 524, 526, 530, 530,
533, 534, 539, 540, 545, 583, 584, 590, 591
};
#endif
@@ -1653,7 +1654,7 @@ yyreduce:
{
case 4:
/* Line 1269 of yacc.c. */
#line 245 "getdate.y"
#line 246 "getdate.y"
{
pc->seconds = (yyvsp[(2) - (2)].timespec);
pc->timespec_seen = true;
@@ -1662,43 +1663,43 @@ yyreduce:
case 7:
/* Line 1269 of yacc.c. */
#line 258 "getdate.y"
#line 259 "getdate.y"
{ pc->times_seen++; }
break;
case 8:
/* Line 1269 of yacc.c. */
#line 260 "getdate.y"
#line 261 "getdate.y"
{ pc->local_zones_seen++; }
break;
case 9:
/* Line 1269 of yacc.c. */
#line 262 "getdate.y"
#line 263 "getdate.y"
{ pc->zones_seen++; }
break;
case 10:
/* Line 1269 of yacc.c. */
#line 264 "getdate.y"
#line 265 "getdate.y"
{ pc->dates_seen++; }
break;
case 11:
/* Line 1269 of yacc.c. */
#line 266 "getdate.y"
#line 267 "getdate.y"
{ pc->days_seen++; }
break;
case 12:
/* Line 1269 of yacc.c. */
#line 268 "getdate.y"
#line 269 "getdate.y"
{ pc->rels_seen = true; }
break;
case 14:
/* Line 1269 of yacc.c. */
#line 274 "getdate.y"
#line 275 "getdate.y"
{
pc->hour = (yyvsp[(1) - (2)].textintval).value;
pc->minutes = 0;
@@ -1710,7 +1711,7 @@ yyreduce:
case 15:
/* Line 1269 of yacc.c. */
#line 282 "getdate.y"
#line 283 "getdate.y"
{
pc->hour = (yyvsp[(1) - (4)].textintval).value;
pc->minutes = (yyvsp[(3) - (4)].textintval).value;
@@ -1722,7 +1723,7 @@ yyreduce:
case 16:
/* Line 1269 of yacc.c. */
#line 290 "getdate.y"
#line 291 "getdate.y"
{
pc->hour = (yyvsp[(1) - (5)].textintval).value;
pc->minutes = (yyvsp[(3) - (5)].textintval).value;
@@ -1736,7 +1737,7 @@ yyreduce:
case 17:
/* Line 1269 of yacc.c. */
#line 300 "getdate.y"
#line 301 "getdate.y"
{
pc->hour = (yyvsp[(1) - (6)].textintval).value;
pc->minutes = (yyvsp[(3) - (6)].textintval).value;
@@ -1747,7 +1748,7 @@ yyreduce:
case 18:
/* Line 1269 of yacc.c. */
#line 307 "getdate.y"
#line 308 "getdate.y"
{
pc->hour = (yyvsp[(1) - (7)].textintval).value;
pc->minutes = (yyvsp[(3) - (7)].textintval).value;
@@ -1760,7 +1761,7 @@ yyreduce:
case 19:
/* Line 1269 of yacc.c. */
#line 319 "getdate.y"
#line 320 "getdate.y"
{
pc->local_isdst = (yyvsp[(1) - (1)].intval);
pc->dsts_seen += (0 < (yyvsp[(1) - (1)].intval));
@@ -1769,7 +1770,7 @@ yyreduce:
case 20:
/* Line 1269 of yacc.c. */
#line 324 "getdate.y"
#line 325 "getdate.y"
{
pc->local_isdst = 1;
pc->dsts_seen += (0 < (yyvsp[(1) - (2)].intval)) + 1;
@@ -1778,13 +1779,13 @@ yyreduce:
case 21:
/* Line 1269 of yacc.c. */
#line 332 "getdate.y"
#line 333 "getdate.y"
{ pc->time_zone = (yyvsp[(1) - (1)].intval); }
break;
case 22:
/* Line 1269 of yacc.c. */
#line 334 "getdate.y"
#line 335 "getdate.y"
{ pc->time_zone = (yyvsp[(1) - (2)].intval);
pc->rel.ns += (yyvsp[(2) - (2)].rel).ns;
pc->rel.seconds += (yyvsp[(2) - (2)].rel).seconds;
@@ -1798,25 +1799,25 @@ yyreduce:
case 23:
/* Line 1269 of yacc.c. */
#line 344 "getdate.y"
#line 345 "getdate.y"
{ pc->time_zone = (yyvsp[(1) - (3)].intval) + time_zone_hhmm ((yyvsp[(2) - (3)].textintval), (yyvsp[(3) - (3)].intval)); }
break;
case 24:
/* Line 1269 of yacc.c. */
#line 346 "getdate.y"
#line 347 "getdate.y"
{ pc->time_zone = (yyvsp[(1) - (1)].intval) + 60; }
break;
case 25:
/* Line 1269 of yacc.c. */
#line 348 "getdate.y"
#line 349 "getdate.y"
{ pc->time_zone = (yyvsp[(1) - (2)].intval) + 60; }
break;
case 26:
/* Line 1269 of yacc.c. */
#line 353 "getdate.y"
#line 354 "getdate.y"
{
pc->day_ordinal = 1;
pc->day_number = (yyvsp[(1) - (1)].intval);
@@ -1825,7 +1826,7 @@ yyreduce:
case 27:
/* Line 1269 of yacc.c. */
#line 358 "getdate.y"
#line 359 "getdate.y"
{
pc->day_ordinal = 1;
pc->day_number = (yyvsp[(1) - (2)].intval);
@@ -1834,7 +1835,7 @@ yyreduce:
case 28:
/* Line 1269 of yacc.c. */
#line 363 "getdate.y"
#line 364 "getdate.y"
{
pc->day_ordinal = (yyvsp[(1) - (2)].intval);
pc->day_number = (yyvsp[(2) - (2)].intval);
@@ -1843,7 +1844,7 @@ yyreduce:
case 29:
/* Line 1269 of yacc.c. */
#line 368 "getdate.y"
#line 369 "getdate.y"
{
pc->day_ordinal = (yyvsp[(1) - (2)].textintval).value;
pc->day_number = (yyvsp[(2) - (2)].intval);
@@ -1852,7 +1853,7 @@ yyreduce:
case 30:
/* Line 1269 of yacc.c. */
#line 376 "getdate.y"
#line 377 "getdate.y"
{
pc->month = (yyvsp[(1) - (3)].textintval).value;
pc->day = (yyvsp[(3) - (3)].textintval).value;
@@ -1861,7 +1862,7 @@ yyreduce:
case 31:
/* Line 1269 of yacc.c. */
#line 381 "getdate.y"
#line 382 "getdate.y"
{
/* Interpret as YYYY/MM/DD if the first value has 4 or more digits,
otherwise as MM/DD/YY.
@@ -1885,7 +1886,7 @@ yyreduce:
case 32:
/* Line 1269 of yacc.c. */
#line 401 "getdate.y"
#line 402 "getdate.y"
{
/* ISO 8601 format. YYYY-MM-DD. */
pc->year = (yyvsp[(1) - (3)].textintval);
@@ -1896,7 +1897,7 @@ yyreduce:
case 33:
/* Line 1269 of yacc.c. */
#line 408 "getdate.y"
#line 409 "getdate.y"
{
/* e.g. 17-JUN-1992. */
pc->day = (yyvsp[(1) - (3)].textintval).value;
@@ -1908,7 +1909,7 @@ yyreduce:
case 34:
/* Line 1269 of yacc.c. */
#line 416 "getdate.y"
#line 417 "getdate.y"
{
/* e.g. JUN-17-1992. */
pc->month = (yyvsp[(1) - (3)].intval);
@@ -1920,7 +1921,7 @@ yyreduce:
case 35:
/* Line 1269 of yacc.c. */
#line 424 "getdate.y"
#line 425 "getdate.y"
{
pc->month = (yyvsp[(1) - (2)].intval);
pc->day = (yyvsp[(2) - (2)].textintval).value;
@@ -1929,7 +1930,7 @@ yyreduce:
case 36:
/* Line 1269 of yacc.c. */
#line 429 "getdate.y"
#line 430 "getdate.y"
{
pc->month = (yyvsp[(1) - (4)].intval);
pc->day = (yyvsp[(2) - (4)].textintval).value;
@@ -1939,7 +1940,7 @@ yyreduce:
case 37:
/* Line 1269 of yacc.c. */
#line 435 "getdate.y"
#line 436 "getdate.y"
{
pc->day = (yyvsp[(1) - (2)].textintval).value;
pc->month = (yyvsp[(2) - (2)].intval);
@@ -1948,7 +1949,7 @@ yyreduce:
case 38:
/* Line 1269 of yacc.c. */
#line 440 "getdate.y"
#line 441 "getdate.y"
{
pc->day = (yyvsp[(1) - (3)].textintval).value;
pc->month = (yyvsp[(2) - (3)].intval);
@@ -1958,7 +1959,7 @@ yyreduce:
case 39:
/* Line 1269 of yacc.c. */
#line 449 "getdate.y"
#line 450 "getdate.y"
{
pc->rel.ns -= (yyvsp[(1) - (2)].rel).ns;
pc->rel.seconds -= (yyvsp[(1) - (2)].rel).seconds;
@@ -1972,7 +1973,7 @@ yyreduce:
case 40:
/* Line 1269 of yacc.c. */
#line 459 "getdate.y"
#line 460 "getdate.y"
{
pc->rel.ns += (yyvsp[(1) - (1)].rel).ns;
pc->rel.seconds += (yyvsp[(1) - (1)].rel).seconds;
@@ -1986,175 +1987,175 @@ yyreduce:
case 41:
/* Line 1269 of yacc.c. */
#line 472 "getdate.y"
#line 473 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].intval); }
break;
case 42:
/* Line 1269 of yacc.c. */
#line 474 "getdate.y"
#line 475 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].textintval).value; }
break;
case 43:
/* Line 1269 of yacc.c. */
#line 476 "getdate.y"
#line 477 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = 1; }
break;
case 44:
/* Line 1269 of yacc.c. */
#line 478 "getdate.y"
#line 479 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].intval); }
break;
case 45:
/* Line 1269 of yacc.c. */
#line 480 "getdate.y"
#line 481 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].textintval).value; }
break;
case 46:
/* Line 1269 of yacc.c. */
#line 482 "getdate.y"
#line 483 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = 1; }
break;
case 47:
/* Line 1269 of yacc.c. */
#line 484 "getdate.y"
#line 485 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].intval) * (yyvsp[(2) - (2)].intval); }
break;
case 48:
/* Line 1269 of yacc.c. */
#line 486 "getdate.y"
#line 487 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].textintval).value * (yyvsp[(2) - (2)].intval); }
break;
case 49:
/* Line 1269 of yacc.c. */
#line 488 "getdate.y"
#line 489 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (1)].intval); }
break;
case 50:
/* Line 1269 of yacc.c. */
#line 490 "getdate.y"
#line 491 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].intval); }
break;
case 51:
/* Line 1269 of yacc.c. */
#line 492 "getdate.y"
#line 493 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].textintval).value; }
break;
case 52:
/* Line 1269 of yacc.c. */
#line 494 "getdate.y"
#line 495 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = 1; }
break;
case 53:
/* Line 1269 of yacc.c. */
#line 496 "getdate.y"
#line 497 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].intval); }
break;
case 54:
/* Line 1269 of yacc.c. */
#line 498 "getdate.y"
#line 499 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].textintval).value; }
break;
case 55:
/* Line 1269 of yacc.c. */
#line 500 "getdate.y"
#line 501 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = 1; }
break;
case 56:
/* Line 1269 of yacc.c. */
#line 502 "getdate.y"
#line 503 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].intval); }
break;
case 57:
/* Line 1269 of yacc.c. */
#line 504 "getdate.y"
#line 505 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].textintval).value; }
break;
case 58:
/* Line 1269 of yacc.c. */
#line 506 "getdate.y"
#line 507 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].timespec).tv_sec; (yyval.rel).ns = (yyvsp[(1) - (2)].timespec).tv_nsec; }
break;
case 59:
/* Line 1269 of yacc.c. */
#line 508 "getdate.y"
#line 509 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].timespec).tv_sec; (yyval.rel).ns = (yyvsp[(1) - (2)].timespec).tv_nsec; }
break;
case 60:
/* Line 1269 of yacc.c. */
#line 510 "getdate.y"
#line 511 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = 1; }
break;
case 62:
/* Line 1269 of yacc.c. */
#line 516 "getdate.y"
#line 517 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].textintval).value; }
break;
case 63:
/* Line 1269 of yacc.c. */
#line 518 "getdate.y"
#line 519 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].textintval).value; }
break;
case 64:
/* Line 1269 of yacc.c. */
#line 520 "getdate.y"
#line 521 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].textintval).value * (yyvsp[(2) - (2)].intval); }
break;
case 65:
/* Line 1269 of yacc.c. */
#line 522 "getdate.y"
#line 523 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].textintval).value; }
break;
case 66:
/* Line 1269 of yacc.c. */
#line 524 "getdate.y"
#line 525 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].textintval).value; }
break;
case 67:
/* Line 1269 of yacc.c. */
#line 526 "getdate.y"
#line 527 "getdate.y"
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].textintval).value; }
break;
case 71:
/* Line 1269 of yacc.c. */
#line 534 "getdate.y"
#line 535 "getdate.y"
{ (yyval.timespec).tv_sec = (yyvsp[(1) - (1)].textintval).value; (yyval.timespec).tv_nsec = 0; }
break;
case 73:
/* Line 1269 of yacc.c. */
#line 540 "getdate.y"
#line 541 "getdate.y"
{ (yyval.timespec).tv_sec = (yyvsp[(1) - (1)].textintval).value; (yyval.timespec).tv_nsec = 0; }
break;
case 74:
/* Line 1269 of yacc.c. */
#line 545 "getdate.y"
#line 546 "getdate.y"
{
if (pc->dates_seen && ! pc->year.digits
&& ! pc->rels_seen && (pc->times_seen || 2 < (yyvsp[(1) - (1)].textintval).digits))
@@ -2192,31 +2193,31 @@ yyreduce:
case 75:
/* Line 1269 of yacc.c. */
#line 582 "getdate.y"
#line 583 "getdate.y"
{ (yyval.intval) = -1; }
break;
case 76:
/* Line 1269 of yacc.c. */
#line 584 "getdate.y"
#line 585 "getdate.y"
{ (yyval.intval) = (yyvsp[(2) - (2)].textintval).value; }
break;
case 77:
/* Line 1269 of yacc.c. */
#line 589 "getdate.y"
#line 590 "getdate.y"
{ (yyval.intval) = MER24; }
break;
case 78:
/* Line 1269 of yacc.c. */
#line 591 "getdate.y"
#line 592 "getdate.y"
{ (yyval.intval) = (yyvsp[(1) - (1)].intval); }
break;
/* Line 1269 of yacc.c. */
#line 2220 "getdate.c"
#line 2221 "getdate.c"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2428,7 +2429,7 @@ yyreturn:
/* Line 1486 of yacc.c. */
#line 594 "getdate.y"
#line 595 "getdate.y"
static table const meridian_table[] =
+3 -2
View File
@@ -1,6 +1,7 @@
/* Parse a string into an internal time stamp.
Copyright (C) 1995, 1997, 1998, 2003, 2004 Free Software Foundation, Inc.
Copyright (C) 1995, 1997, 1998, 2003, 2004, 2007 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
@@ -17,6 +18,6 @@
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#include <stdbool.h>
#include "timespec.h"
#include <time.h>
bool get_date (struct timespec *, char const *, struct timespec const *);
+2 -1
View File
@@ -1,7 +1,7 @@
%{
/* Parse a string into an internal time stamp.
Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006 Free Software
Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
@@ -35,6 +35,7 @@
#include <config.h>
#include "getdate.h"
#include "timespec.h"
/* There's no need to extend the stack, so there's no need to involve
alloca. */
+2 -1
View File
@@ -1,6 +1,6 @@
/* gethrxtime -- get high resolution real time
Copyright (C) 2005, 2006 Free Software Foundation, Inc.
Copyright (C) 2005, 2006, 2007 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,6 +22,7 @@
#include "gethrxtime.h"
#include <sys/time.h>
#include "timespec.h"
/* Get the current time, as a count of the number of nanoseconds since
+3 -3
View File
@@ -1,5 +1,5 @@
/* Declarations for getopt.
Copyright (C) 1989-1994,1996-1999,2001,2003,2004,2005,2006
Copyright (C) 1989-1994,1996-1999,2001,2003,2004,2005,2006,2007
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -101,7 +101,7 @@
# endif
#endif
#ifdef __cplusplus
#ifdef __cplusplus
extern "C" {
#endif
@@ -216,7 +216,7 @@ extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv,
#endif
#ifdef __cplusplus
#ifdef __cplusplus
}
#endif
+5
View File
@@ -42,6 +42,11 @@
# endif
#endif
/* This is for AmigaOS4.0. */
#if !defined getpagesize && defined __amigaos4__
# define getpagesize() 2048
#endif
#if !defined getpagesize && HAVE_SYS_PARAM_H
# include <sys/param.h>
# ifdef EXEC_PAGESIZE
+3 -12
View File
@@ -1,6 +1,6 @@
/* gettime -- get the system clock
Copyright (C) 2002, 2004, 2005, 2006 Free Software Foundation, Inc.
Copyright (C) 2002, 2004, 2005, 2006, 2007 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,6 +22,8 @@
#include "timespec.h"
#include <sys/time.h>
/* Get the system time into *TS. */
void
@@ -36,23 +38,12 @@ gettime (struct timespec *ts)
return;
# endif
# if HAVE_GETTIMEOFDAY
{
struct timeval tv;
gettimeofday (&tv, NULL);
ts->tv_sec = tv.tv_sec;
ts->tv_nsec = tv.tv_usec * 1000;
}
# else
# ifndef OK_TO_USE_1S_CLOCK
# error "Only 1-second nominal clock resolution found. Is that intended?" \
"If so, compile with the -DOK_TO_USE_1S_CLOCK option."
# endif
ts->tv_sec = time (NULL);
ts->tv_nsec = 0;
# endif
#endif
}
+84 -64
View File
@@ -1,9 +1,7 @@
/* Work around the bug in some systems whereby gettimeofday clobbers the
static buffer that localtime uses for it's return value. The gettimeofday
function from Mac OS X 10.0.4, i.e. Darwin 1.3.7 has this problem.
The tzset replacement is necessary for at least Solaris 2.5, 2.5.1, and 2.6.
/* Provide gettimeofday for systems that don't have it or for which it's broken.
Copyright (C) 2001, 2002, 2003, 2006 Free Software Foundation, Inc.
Copyright (C) 2001, 2002, 2003, 2005, 2006, 2007 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
@@ -23,29 +21,25 @@
#include <config.h>
/* Disable the definitions of these functions (from config.h)
so we can use the library versions here. */
#undef gettimeofday
#undef gmtime
#undef localtime
#undef tzset
/* Specification. */
#include <sys/time.h>
#include <sys/types.h>
#include <time.h>
#if TIME_WITH_SYS_TIME
# include <sys/time.h>
# include <time.h>
#else
# if HAVE_SYS_TIME_H
# include <sys/time.h>
# else
# include <time.h>
# endif
#if HAVE_SYS_TIMEB_H
# include <sys/timeb.h>
#endif
#include <stdlib.h>
#if GETTIMEOFDAY_CLOBBERS_LOCALTIME || TZSET_CLOBBERS_LOCALTIME
static struct tm *localtime_buffer_addr;
/* Work around the bug in some systems whereby gettimeofday clobbers
the static buffer that localtime uses for its return value. The
gettimeofday function from Mac OS X 10.0.4 (i.e., Darwin 1.3.7) has
this problem. The tzset replacement is necessary for at least
Solaris 2.5, 2.5.1, and 2.6. */
static struct tm tm_zero_buffer;
static struct tm *localtime_buffer_addr = &tm_zero_buffer;
/* This is a wrapper for localtime. It is used only on systems for which
gettimeofday clobbers the static buffer used for localtime's result.
@@ -54,11 +48,13 @@ static struct tm *localtime_buffer_addr;
localtime uses for its result. */
struct tm *
rpl_localtime (const time_t *timep)
localtime (time_t const *timep)
{
#undef localtime
extern struct tm *localtime (time_t const *);
struct tm *tm = localtime (timep);
if (! localtime_buffer_addr)
if (localtime_buffer_addr == &tm_zero_buffer)
localtime_buffer_addr = tm;
return tm;
@@ -66,57 +62,81 @@ rpl_localtime (const time_t *timep)
/* Same as above, since gmtime and localtime use the same buffer. */
struct tm *
rpl_gmtime (const time_t *timep)
gmtime (time_t const *timep)
{
#undef gmtime
extern struct tm *gmtime (time_t const *);
struct tm *tm = gmtime (timep);
if (! localtime_buffer_addr)
if (localtime_buffer_addr == &tm_zero_buffer)
localtime_buffer_addr = tm;
return tm;
}
/* This is a wrapper for gettimeofday. It is used only on systems for which
gettimeofday clobbers the static buffer used for localtime's result.
#endif /* GETTIMEOFDAY_CLOBBERS_LOCALTIME || TZSET_CLOBBERS_LOCALTIME */
Save and restore the contents of the buffer used for localtime's result
around the call to gettimeofday. */
int
rpl_gettimeofday (struct timeval *tv, struct timezone *tz)
{
struct tm save;
int result;
if (! localtime_buffer_addr)
{
time_t t = 0;
localtime_buffer_addr = localtime (&t);
}
save = *localtime_buffer_addr;
result = gettimeofday (tv, tz);
*localtime_buffer_addr = save;
return result;
}
/* This is a wrapper for tzset. It is used only on systems for which
tzset may clobber the static buffer used for localtime's result.
Save and restore the contents of the buffer used for localtime's
result around the call to tzset. */
#if TZSET_CLOBBERS_LOCALTIME
/* This is a wrapper for tzset, for systems on which tzset may clobber
the static buffer used for localtime's result. */
void
rpl_tzset (void)
tzset (void)
{
struct tm save;
#undef tzset
extern void tzset (void);
if (! localtime_buffer_addr)
{
time_t t = 0;
localtime_buffer_addr = localtime (&t);
}
save = *localtime_buffer_addr;
/* Save and restore the contents of the buffer used for localtime's
result around the call to tzset. */
struct tm save = *localtime_buffer_addr;
tzset ();
*localtime_buffer_addr = save;
}
#endif
/* This is a wrapper for gettimeofday. It is used only on systems
that lack this function, or whose implementation of this function
causes problems. */
int
rpl_gettimeofday (struct timeval *restrict tv, void *restrict tz)
{
#undef gettimeofday
#if HAVE_GETTIMEOFDAY
# if GETTIMEOFDAY_CLOBBERS_LOCALTIME
/* Save and restore the contents of the buffer used for localtime's
result around the call to gettimeofday. */
struct tm save = *localtime_buffer_addr;
# endif
int result = gettimeofday (tv, tz);
# if GETTIMEOFDAY_CLOBBERS_LOCALTIME
*localtime_buffer_addr = save;
# endif
return result;
#else
# if HAVE__FTIME
struct _timeb timebuf;
_ftime (&timebuf);
tv->tv_sec = timebuf.time;
tv->tv_usec = timebuf.millitm * 1000;
# else
# if !defined OK_TO_USE_1S_CLOCK
# error "Only 1-second nominal clock resolution found. Is that intended?" \
"If so, compile with the -DOK_TO_USE_1S_CLOCK option."
# endif
tv->tv_sec = time (NULL);
tv->tv_usec = 0;
# endif
return 0;
#endif
}
+344 -51
View File
@@ -1,6 +1,6 @@
## DO NOT EDIT! GENERATED AUTOMATICALLY!
## Process this file with automake to produce Makefile.in.
# Copyright (C) 2004-2006 Free Software Foundation, Inc.
# Copyright (C) 2004-2007 Free Software Foundation, Inc.
#
# This file is free software, distributed under the terms of the GNU
# General Public License. As a special exception to the GNU General
@@ -9,7 +9,7 @@
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libcoreutils --source-base=.#bootmp/lib --m4-base=.#bootmp/m4 --doc-base=.#bootmp/doc --aux-dir=.#bootmp/build-aux --avoid=lock --avoid=size_max --avoid=xsize --no-libtool --macro-prefix=gl acl alloca argmatch assert atexit backupfile base64 c-strtod c-strtold calloc canon-host canonicalize chown cloexec closeout config-h configmake cycle-check d-ino d-type diacrit dirfd dirname dup2 error euidaccess exclude exitfail fcntl fcntl-safer fdl file-type fileblocks filemode filenamecat fnmatch-gnu fopen-safer fprintftime free fsusage ftruncate fts getdate getgroups gethrxtime getline getloadavg getndelim2 getopt getpagesize getpass-gnu gettext gettime gettimeofday getugroups getusershell gnupload group-member hard-locale hash hash-pjw host-os human idcache inttostr inttypes isapipe lchmod lchown lib-ignore linebuffer link-follow long-options lstat malloc mbswidth md5 memcasecmp memchr memcmp memcpy memmove mempcpy memrchr memset mkancesdirs mkdir mkdir-p mkstemp mktime modechange mountlist obstack pathmax perl physmem posixtm posixver putenv quote quotearg raise readlink readtokens readtokens0 readutmp realloc regex rename rename-dest-slash rmdir rmdir-errno root-dev-ino rpmatch safe-read same save-cwd savedir savewd settime sha1 sig2str ssize_t stat-macros stat-time stdbool stdlib-safer stpcpy strcase strcspn strftime strpbrk strtod strtoimax strtol strtoumax strverscmp sys_stat timespec tzset unicodeio unistd-safer unlink-busy unlinkdir unlocked-io uptime userspec utime utimecmp utimens vasprintf verify version-etc-fsf wcwidth winsz-ioctl winsz-termios xalloc xgetcwd xgethostname xmemcoll xnanosleep xreadlink xstrtod xstrtoimax xstrtol xstrtold xstrtoumax yesno
# Reproduce by: gnulib-tool --import --dir=. --local-dir=gl --lib=libcoreutils --source-base=lib --m4-base=m4 --doc-base=doc --aux-dir=build-aux --avoid=lock --avoid=size_max --avoid=xsize --avoid=canonicalize-lgpl --no-libtool --macro-prefix=gl acl alloca announce-gen argmatch assert atexit backupfile base64 c-strcase c-strtod c-strtold calloc canon-host canonicalize chown cloexec closeout config-h configmake cycle-check d-ino d-type diacrit dirfd dirname dup2 error euidaccess exclude exitfail fchdir fcntl fcntl-safer fdl file-type fileblocks filemode filenamecat fnmatch-gnu fopen-safer fprintftime free fsusage ftruncate fts getdate getgroups gethrxtime getline getloadavg getndelim2 getopt getpagesize getpass-gnu gettext gettime gettimeofday getugroups getusershell gnupload group-member hard-locale hash hash-pjw host-os human idcache inttostr inttypes isapipe lchmod lchown lib-ignore linebuffer link-follow long-options lstat malloc mbswidth md5 memcasecmp memchr memcmp memcpy memmove mempcpy memrchr memset mkancesdirs mkdir mkdir-p mkstemp mktime modechange mountlist mpsort obstack pathmax perl physmem posixtm posixver putenv quote quotearg raise readlink readtokens readtokens0 readutmp realloc regex rename rename-dest-slash rmdir rmdir-errno root-dev-ino rpmatch safe-read same save-cwd savedir savewd settime sha1 sig2str ssize_t stat-macros stat-time stdbool stdlib-safer stpcpy strcspn strftime strpbrk strtod strtoimax strtol strtoumax strverscmp sys_stat timespec tzset unicodeio unistd-safer unlink-busy unlinkdir unlocked-io uptime userspec utime utimecmp utimens vasprintf verify version-etc-fsf wcwidth winsz-ioctl winsz-termios xalloc xgetcwd xgethostname xmemcoll xnanosleep xreadlink xreadlink-with-size xstrtod xstrtoimax xstrtol xstrtold xstrtoumax yesno
AUTOMAKE_OPTIONS = 1.5 gnits
@@ -37,9 +37,9 @@ EXTRA_libcoreutils_a_SOURCES =
## begin gnulib module acl
EXTRA_DIST += acl.c acl.h
EXTRA_DIST += acl-internal.h acl.c acl.h acl_entries.c file-has-acl.c
EXTRA_libcoreutils_a_SOURCES += acl.c
EXTRA_libcoreutils_a_SOURCES += acl.c acl_entries.c file-has-acl.c
## end gnulib module acl
@@ -95,7 +95,7 @@ BUILT_SOURCES += $(ARPA_INET_H)
# We need the following in order to create <arpa/inet.h> when the system
# doesn't have one.
arpa/inet.h:
test -d arpa || mkdir arpa
@MKDIR_P@ arpa
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
echo '#include <sys/socket.h>'; \
@@ -130,6 +130,18 @@ libcoreutils_a_SOURCES += base64.h base64.c
## end gnulib module base64
## begin gnulib module c-ctype
libcoreutils_a_SOURCES += c-ctype.h c-ctype.c
## end gnulib module c-ctype
## begin gnulib module c-strcase
libcoreutils_a_SOURCES += c-strcase.h c-strcasecmp.c c-strncasecmp.c
## end gnulib module c-strcase
## begin gnulib module c-strtod
@@ -352,12 +364,6 @@ EXTRA_libcoreutils_a_SOURCES += exclude.c
## end gnulib module exclude
## begin gnulib module exit
libcoreutils_a_SOURCES += exit.h
## end gnulib module exit
## begin gnulib module exitfail
@@ -367,6 +373,28 @@ EXTRA_libcoreutils_a_SOURCES += exitfail.c
## end gnulib module exitfail
## begin gnulib module fchdir
BUILT_SOURCES += $(DIRENT_H)
# We need the following in order to create <dirent.h> when the system
# doesn't have one that works with the given compiler.
dirent.h: dirent_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's|@''ABSOLUTE_DIRENT_H''@|$(ABSOLUTE_DIRENT_H)|g' \
-e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \
< $(srcdir)/dirent_.h; \
} > $@-t
mv $@-t $@
MOSTLYCLEANFILES += dirent.h dirent.h-t
EXTRA_DIST += dirent_.h fchdir.c
EXTRA_libcoreutils_a_SOURCES += fchdir.c
## end gnulib module fchdir
## begin gnulib module fcntl
BUILT_SOURCES += $(FCNTL_H)
@@ -537,7 +565,7 @@ EXTRA_libcoreutils_a_SOURCES += gai_strerror.c getaddrinfo.c
## begin gnulib module getcwd
EXTRA_DIST += getcwd.c getcwd.h
EXTRA_DIST += getcwd.c
EXTRA_libcoreutils_a_SOURCES += getcwd.c
@@ -808,10 +836,15 @@ inttypes.h: inttypes_.h
-e 's/@''HAVE_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
-e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_LONG_LONG_INT)/g' \
-e 's/@''PRIPTR_PREFIX''@/$(PRIPTR_PREFIX)/g' \
-e 's/@''GNULIB_IMAXABS''@/$(GNULIB_IMAXABS)/g' \
-e 's/@''GNULIB_IMAXDIV''@/$(GNULIB_IMAXDIV)/g' \
-e 's/@''GNULIB_STRTOIMAX''@/$(GNULIB_STRTOIMAX)/g' \
-e 's/@''GNULIB_STRTOUMAX''@/$(GNULIB_STRTOUMAX)/g' \
-e 's/@''HAVE_DECL_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \
-e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \
-e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
-e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
-e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
< $(srcdir)/inttypes_.h; \
} > $@-t
mv $@-t $@
@@ -852,6 +885,12 @@ libcoreutils_a_SOURCES += linebuffer.h linebuffer.c
## end gnulib module linebuffer
## begin gnulib module link-warning
LINK_WARNING_H=$(top_srcdir)/build-aux/link-warning.h
## end gnulib module link-warning
## begin gnulib module localcharset
libcoreutils_a_SOURCES += localcharset.h localcharset.c
@@ -939,13 +978,18 @@ EXTRA_libcoreutils_a_SOURCES += malloc.c
## begin gnulib module mbchar
libcoreutils_a_SOURCES += mbchar.c
EXTRA_DIST += mbchar.c mbchar.h
EXTRA_libcoreutils_a_SOURCES += mbchar.c
EXTRA_DIST += mbchar.h
## end gnulib module mbchar
## begin gnulib module mbscasecmp
libcoreutils_a_SOURCES += mbscasecmp.c
## end gnulib module mbscasecmp
## begin gnulib module mbswidth
libcoreutils_a_SOURCES += mbswidth.h mbswidth.c
@@ -1024,7 +1068,7 @@ EXTRA_libcoreutils_a_SOURCES += memmove.c
## begin gnulib module mempcpy
EXTRA_DIST += mempcpy.c mempcpy.h
EXTRA_DIST += mempcpy.c
EXTRA_libcoreutils_a_SOURCES += mempcpy.c
@@ -1033,7 +1077,7 @@ EXTRA_libcoreutils_a_SOURCES += mempcpy.c
## begin gnulib module memrchr
EXTRA_DIST += memrchr.c memrchr.h
EXTRA_DIST += memrchr.c
EXTRA_libcoreutils_a_SOURCES += memrchr.c
@@ -1078,7 +1122,7 @@ EXTRA_libcoreutils_a_SOURCES += dirchownmod.c mkdir-p.c
## begin gnulib module mkstemp
EXTRA_DIST += mkstemp.c mkstemp.h
EXTRA_DIST += mkstemp.c
EXTRA_libcoreutils_a_SOURCES += mkstemp.c
@@ -1111,6 +1155,15 @@ EXTRA_libcoreutils_a_SOURCES += mountlist.c
## end gnulib module mountlist
## begin gnulib module mpsort
EXTRA_DIST += mpsort.c mpsort.h
EXTRA_libcoreutils_a_SOURCES += mpsort.c
## end gnulib module mpsort
## begin gnulib module nanosleep
@@ -1127,15 +1180,19 @@ BUILT_SOURCES += $(NETINET_IN_H)
# We need the following in order to create <netinet/in.h> when the system
# doesn't have one.
netinet/in.h:
test -d netinet || mkdir netinet
@MKDIR_P@ netinet
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
echo '#include <sys/socket.h>'; \
sed -e 's|@''ABSOLUTE_NETINET_IN_H''@|$(ABSOLUTE_NETINET_IN_H)|g' \
-e 's|@''HAVE_NETINET_IN_H''@|$(HAVE_NETINET_IN_H)|g' \
< $(srcdir)/netinet_in_.h; \
} > $@-t
mv $@-t $@
MOSTLYCLEANFILES += netinet/in.h netinet/in.h-t
MOSTLYCLEANDIRS += netinet
EXTRA_DIST += netinet_in_.h
## end gnulib module netinet_in
## begin gnulib module obstack
@@ -1150,9 +1207,9 @@ EXTRA_libcoreutils_a_SOURCES += obstack.c
## begin gnulib module openat
EXTRA_DIST += at-func.c fchmodat.c fstatat.c mkdirat.c openat-die.c openat-priv.h openat-proc.c openat.c openat.h
EXTRA_DIST += at-func.c fchmodat.c fchownat.c fstatat.c mkdirat.c openat-die.c openat-priv.h openat-proc.c openat.c openat.h
EXTRA_libcoreutils_a_SOURCES += at-func.c fchmodat.c fstatat.c mkdirat.c openat-die.c openat-proc.c openat.c
EXTRA_libcoreutils_a_SOURCES += at-func.c fchmodat.c fchownat.c fstatat.c mkdirat.c openat-die.c openat-proc.c openat.c
## end gnulib module openat
@@ -1419,7 +1476,7 @@ EXTRA_libcoreutils_a_SOURCES += sig2str.c
## begin gnulib module snprintf
EXTRA_DIST += snprintf.c snprintf.h
EXTRA_DIST += snprintf.c
EXTRA_libcoreutils_a_SOURCES += snprintf.c
@@ -1466,8 +1523,7 @@ BUILT_SOURCES += $(STDINT_H)
stdint.h: stdint_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \
-e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
-e 's|@''ABSOLUTE_STDINT_H''@|$(ABSOLUTE_STDINT_H)|g' \
-e 's/@''HAVE_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
-e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
@@ -1497,6 +1553,70 @@ EXTRA_DIST += stdint_.h
## end gnulib module stdint
## begin gnulib module stdio
BUILT_SOURCES += stdio.h
# We need the following in order to create <stdio.h> when the system
# doesn't have one that works with the given compiler.
stdio.h: stdio_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''ABSOLUTE_STDIO_H''@|$(ABSOLUTE_STDIO_H)|g' \
-e 's|@''GNULIB_FPRINTF_POSIX''@|$(GNULIB_FPRINTF_POSIX)|g' \
-e 's|@''GNULIB_PRINTF_POSIX''@|$(GNULIB_PRINTF_POSIX)|g' \
-e 's|@''GNULIB_SNPRINTF''@|$(GNULIB_SNPRINTF)|g' \
-e 's|@''GNULIB_SPRINTF_POSIX''@|$(GNULIB_SPRINTF_POSIX)|g' \
-e 's|@''GNULIB_VFPRINTF_POSIX''@|$(GNULIB_VFPRINTF_POSIX)|g' \
-e 's|@''GNULIB_VPRINTF_POSIX''@|$(GNULIB_VPRINTF_POSIX)|g' \
-e 's|@''GNULIB_VSNPRINTF''@|$(GNULIB_VSNPRINTF)|g' \
-e 's|@''GNULIB_VSPRINTF_POSIX''@|$(GNULIB_VSPRINTF_POSIX)|g' \
-e 's|@''REPLACE_FPRINTF''@|$(REPLACE_FPRINTF)|g' \
-e 's|@''REPLACE_VFPRINTF''@|$(REPLACE_VFPRINTF)|g' \
-e 's|@''REPLACE_PRINTF''@|$(REPLACE_PRINTF)|g' \
-e 's|@''REPLACE_VPRINTF''@|$(REPLACE_VPRINTF)|g' \
-e 's|@''REPLACE_SNPRINTF''@|$(REPLACE_SNPRINTF)|g' \
-e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \
-e 's|@''REPLACE_VSNPRINTF''@|$(REPLACE_VSNPRINTF)|g' \
-e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \
-e 's|@''REPLACE_SPRINTF''@|$(REPLACE_SPRINTF)|g' \
-e 's|@''REPLACE_VSPRINTF''@|$(REPLACE_VSPRINTF)|g' \
-e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
< $(srcdir)/stdio_.h; \
} > $@-t
mv $@-t $@
MOSTLYCLEANFILES += stdio.h stdio.h-t
EXTRA_DIST += stdio_.h
## end gnulib module stdio
## begin gnulib module stdlib
BUILT_SOURCES += stdlib.h
# We need the following in order to create <stdlib.h> when the system
# doesn't have one that works with the given compiler.
stdlib.h: stdlib_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''ABSOLUTE_STDLIB_H''@|$(ABSOLUTE_STDLIB_H)|g' \
-e 's|@''GNULIB_GETSUBOPT''@|$(GNULIB_GETSUBOPT)|g' \
-e 's|@''GNULIB_MKDTEMP''@|$(GNULIB_MKDTEMP)|g' \
-e 's|@''GNULIB_MKSTEMP''@|$(GNULIB_MKSTEMP)|g' \
-e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
-e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
-e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
-e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
< $(srcdir)/stdlib_.h; \
} > $@-t
mv $@-t $@
MOSTLYCLEANFILES += stdlib.h stdlib.h-t
EXTRA_DIST += stdlib_.h
## end gnulib module stdlib
## begin gnulib module stdlib-safer
@@ -1509,21 +1629,12 @@ EXTRA_libcoreutils_a_SOURCES += mkstemp-safer.c
## begin gnulib module stpcpy
EXTRA_DIST += stpcpy.c stpcpy.h
EXTRA_DIST += stpcpy.c
EXTRA_libcoreutils_a_SOURCES += stpcpy.c
## end gnulib module stpcpy
## begin gnulib module strcase
EXTRA_DIST += strcase.h strcasecmp.c strncasecmp.c
EXTRA_libcoreutils_a_SOURCES += strcasecmp.c strncasecmp.c
## end gnulib module strcase
## begin gnulib module strcspn
@@ -1536,7 +1647,7 @@ EXTRA_libcoreutils_a_SOURCES += strcspn.c
## begin gnulib module strdup
EXTRA_DIST += strdup.c strdup.h
EXTRA_DIST += strdup.c
EXTRA_libcoreutils_a_SOURCES += strdup.c
@@ -1551,10 +1662,72 @@ EXTRA_libcoreutils_a_SOURCES += strftime.c
## end gnulib module strftime
## begin gnulib module string
BUILT_SOURCES += string.h
# We need the following in order to create <string.h> when the system
# doesn't have one that works with the given compiler.
string.h: string_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''ABSOLUTE_STRING_H''@|$(ABSOLUTE_STRING_H)|g' \
-e 's|@''GNULIB_MBSLEN''@|$(GNULIB_MBSLEN)|g' \
-e 's|@''GNULIB_MBSCHR''@|$(GNULIB_MBSCHR)|g' \
-e 's|@''GNULIB_MBSRCHR''@|$(GNULIB_MBSRCHR)|g' \
-e 's|@''GNULIB_MBSSTR''@|$(GNULIB_MBSSTR)|g' \
-e 's|@''GNULIB_MBSCASECMP''@|$(GNULIB_MBSCASECMP)|g' \
-e 's|@''GNULIB_MBSNCASECMP''@|$(GNULIB_MBSNCASECMP)|g' \
-e 's|@''GNULIB_MBSPCASECMP''@|$(GNULIB_MBSPCASECMP)|g' \
-e 's|@''GNULIB_MBSCASESTR''@|$(GNULIB_MBSCASESTR)|g' \
-e 's|@''GNULIB_MBSCSPN''@|$(GNULIB_MBSCSPN)|g' \
-e 's|@''GNULIB_MBSPBRK''@|$(GNULIB_MBSPBRK)|g' \
-e 's|@''GNULIB_MBSSPN''@|$(GNULIB_MBSSPN)|g' \
-e 's|@''GNULIB_MBSSEP''@|$(GNULIB_MBSSEP)|g' \
-e 's|@''GNULIB_MBSTOK_R''@|$(GNULIB_MBSTOK_R)|g' \
-e 's|@''GNULIB_MEMMEM''@|$(GNULIB_MEMMEM)|g' \
-e 's|@''GNULIB_MEMPCPY''@|$(GNULIB_MEMPCPY)|g' \
-e 's|@''GNULIB_MEMRCHR''@|$(GNULIB_MEMRCHR)|g' \
-e 's|@''GNULIB_STPCPY''@|$(GNULIB_STPCPY)|g' \
-e 's|@''GNULIB_STPNCPY''@|$(GNULIB_STPNCPY)|g' \
-e 's|@''GNULIB_STRCHRNUL''@|$(GNULIB_STRCHRNUL)|g' \
-e 's|@''GNULIB_STRDUP''@|$(GNULIB_STRDUP)|g' \
-e 's|@''GNULIB_STRNDUP''@|$(GNULIB_STRNDUP)|g' \
-e 's|@''GNULIB_STRNLEN''@|$(GNULIB_STRNLEN)|g' \
-e 's|@''GNULIB_STRPBRK''@|$(GNULIB_STRPBRK)|g' \
-e 's|@''GNULIB_STRSEP''@|$(GNULIB_STRSEP)|g' \
-e 's|@''GNULIB_STRCASESTR''@|$(GNULIB_STRCASESTR)|g' \
-e 's|@''GNULIB_STRTOK_R''@|$(GNULIB_STRTOK_R)|g' \
-e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \
-e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \
-e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \
-e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \
-e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \
-e 's|@''HAVE_STRCASECMP''@|$(HAVE_STRCASECMP)|g' \
-e 's|@''HAVE_DECL_STRNCASECMP''@|$(HAVE_DECL_STRNCASECMP)|g' \
-e 's|@''HAVE_STRCHRNUL''@|$(HAVE_STRCHRNUL)|g' \
-e 's|@''HAVE_DECL_STRDUP''@|$(HAVE_DECL_STRDUP)|g' \
-e 's|@''HAVE_STRNDUP''@|$(HAVE_STRNDUP)|g' \
-e 's|@''HAVE_DECL_STRNDUP''@|$(HAVE_DECL_STRNDUP)|g' \
-e 's|@''HAVE_DECL_STRNLEN''@|$(HAVE_DECL_STRNLEN)|g' \
-e 's|@''HAVE_STRPBRK''@|$(HAVE_STRPBRK)|g' \
-e 's|@''HAVE_STRSEP''@|$(HAVE_STRSEP)|g' \
-e 's|@''HAVE_STRCASESTR''@|$(HAVE_STRCASESTR)|g' \
-e 's|@''HAVE_DECL_STRTOK_R''@|$(HAVE_DECL_STRTOK_R)|g' \
-e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
< $(srcdir)/string_.h; \
} > $@-t
mv $@-t $@
MOSTLYCLEANFILES += string.h string.h-t
EXTRA_DIST += string_.h
## end gnulib module string
## begin gnulib module strndup
EXTRA_DIST += strndup.c strndup.h
EXTRA_DIST += strndup.c
EXTRA_libcoreutils_a_SOURCES += strndup.c
@@ -1563,7 +1736,7 @@ EXTRA_libcoreutils_a_SOURCES += strndup.c
## begin gnulib module strnlen
EXTRA_DIST += strnlen.c strnlen.h
EXTRA_DIST += strnlen.c
EXTRA_libcoreutils_a_SOURCES += strnlen.c
@@ -1578,7 +1751,7 @@ libcoreutils_a_SOURCES += strnlen1.h strnlen1.c
## begin gnulib module strpbrk
EXTRA_DIST += strpbrk.c strpbrk.h
EXTRA_DIST += strpbrk.c
EXTRA_libcoreutils_a_SOURCES += strpbrk.c
@@ -1664,9 +1837,13 @@ BUILT_SOURCES += $(SYS_SOCKET_H)
# We need the following in order to create <sys/socket.h> when the system
# doesn't have one that works with the given compiler.
sys/socket.h: socket_.h
test -d sys || mkdir sys
@MKDIR_P@ sys
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
cat $(srcdir)/socket_.h; \
sed -e 's|@''ABSOLUTE_SYS_SOCKET_H''@|$(ABSOLUTE_SYS_SOCKET_H)|g' \
-e 's|@''HAVE_SYS_SOCKET_H''@|$(HAVE_SYS_SOCKET_H)|g' \
-e 's|@''HAVE_WINSOCK2_H''@|$(HAVE_WINSOCK2_H)|g' \
-e 's|@''HAVE_WS2TCPIP_H''@|$(HAVE_WS2TCPIP_H)|g' \
< $(srcdir)/socket_.h; \
} > $@-t
mv -f $@-t $@
MOSTLYCLEANFILES += sys/socket.h sys/socket.h-t
@@ -1683,7 +1860,7 @@ BUILT_SOURCES += $(SYS_STAT_H)
# We need the following in order to create <sys/stat.h> when the system
# has one that is incomplete.
sys/stat.h: stat_.h
test -d sys || mkdir sys
@MKDIR_P@ sys
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's|@''ABSOLUTE_SYS_STAT_H''@|$(ABSOLUTE_SYS_STAT_H)|g' \
@@ -1697,6 +1874,29 @@ EXTRA_DIST += stat_.h
## end gnulib module sys_stat
## begin gnulib module sys_time
BUILT_SOURCES += $(SYS_TIME_H)
# We need the following in order to create <sys/time.h> when the system
# doesn't have one that works with the given compiler.
sys/time.h: sys_time_.h
@MKDIR_P@ sys
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's/@''HAVE_SYS_TIME_H''@/$(HAVE_SYS_TIME_H)/g' \
-e 's|@''ABSOLUTE_SYS_TIME_H''@|$(ABSOLUTE_SYS_TIME_H)|g' \
-e 's/@''REPLACE_GETTIMEOFDAY''@/$(REPLACE_GETTIMEOFDAY)/g' \
-e 's/@''HAVE_STRUCT_TIMEVAL''@/$(HAVE_STRUCT_TIMEVAL)/g' \
< $(srcdir)/sys_time_.h; \
} > $@-t
mv $@-t $@
MOSTLYCLEANFILES += sys/time.h sys/time.h-t
EXTRA_DIST += sys_time_.h
## end gnulib module sys_time
## begin gnulib module tempname
@@ -1706,10 +1906,35 @@ EXTRA_libcoreutils_a_SOURCES += tempname.c
## end gnulib module tempname
## begin gnulib module time
BUILT_SOURCES += time.h
# We need the following in order to create <time.h> when the system
# doesn't have one that works with the given compiler.
time.h: time_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@ABSOLUTE_TIME_H''@|$(ABSOLUTE_TIME_H)|g' \
-e 's|@REPLACE_LOCALTIME_R''@|$(REPLACE_LOCALTIME_R)|g' \
-e 's|@REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \
-e 's|@REPLACE_STRPTIME''@|$(REPLACE_STRPTIME)|g' \
-e 's|@REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \
-e 's|@SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
-e 's|@TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \
< $(srcdir)/time_.h; \
} > $@-t
mv $@-t $@
MOSTLYCLEANFILES += time.h time.h-t
EXTRA_DIST += time_.h
## end gnulib module time
## begin gnulib module time_r
EXTRA_DIST += time_r.c time_r.h
EXTRA_DIST += time_r.c
EXTRA_libcoreutils_a_SOURCES += time_r.c
@@ -1730,15 +1955,35 @@ libcoreutils_a_SOURCES += unicodeio.h unicodeio.c
## begin gnulib module unistd
BUILT_SOURCES += $(UNISTD_H)
BUILT_SOURCES += unistd.h
# We need the following in order to create an empty placeholder for
# <unistd.h> when the system doesn't have one.
unistd.h:
unistd.h: unistd_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
echo '/* Empty placeholder for $@. */'; \
} > $@
MOSTLYCLEANFILES += unistd.h
sed -e 's|@''HAVE_UNISTD_H''@|$(HAVE_UNISTD_H)|g' \
-e 's|@''ABSOLUTE_UNISTD_H''@|$(ABSOLUTE_UNISTD_H)|g' \
-e 's|@''GNULIB_CHOWN''@|$(GNULIB_CHOWN)|g' \
-e 's|@''GNULIB_DUP2''@|$(GNULIB_DUP2)|g' \
-e 's|@''GNULIB_FCHDIR''@|$(GNULIB_FCHDIR)|g' \
-e 's|@''GNULIB_FTRUNCATE''@|$(GNULIB_FTRUNCATE)|g' \
-e 's|@''GNULIB_GETCWD''@|$(GNULIB_GETCWD)|g' \
-e 's|@''GNULIB_GETLOGIN_R''@|$(GNULIB_GETLOGIN_R)|g' \
-e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \
-e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \
-e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
-e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \
-e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
-e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
-e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \
-e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
< $(srcdir)/unistd_.h; \
} > $@-t
mv $@-t $@
MOSTLYCLEANFILES += unistd.h unistd.h-t
EXTRA_DIST += unistd_.h
## end gnulib module unistd
@@ -1839,6 +2084,47 @@ libcoreutils_a_SOURCES += version-etc-fsf.c
## end gnulib module version-etc-fsf
## begin gnulib module wchar
BUILT_SOURCES += $(WCHAR_H)
# We need the following in order to create <wchar.h> when the system
# version does not work standalone.
wchar.h: wchar_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's|@''ABSOLUTE_WCHAR_H''@|$(ABSOLUTE_WCHAR_H)|g' \
< $(srcdir)/wchar_.h; \
} > $@-t
mv $@-t $@
MOSTLYCLEANFILES += wchar.h wchar.h-t
EXTRA_DIST += wchar_.h
## end gnulib module wchar
## begin gnulib module wctype
BUILT_SOURCES += $(WCTYPE_H)
# We need the following in order to create <wctype.h> when the system
# doesn't have one that works with the given compiler.
wctype.h: wctype_.h
rm -f $@-t $@
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \
-e 's|@''ABSOLUTE_WCTYPE_H''@|$(ABSOLUTE_WCTYPE_H)|g' \
-e 's/@''HAVE_WCTYPE_CTMP_BUG''@/$(HAVE_WCTYPE_CTMP_BUG)/g' \
-e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \
< $(srcdir)/wctype_.h; \
} > $@-t
mv $@-t $@
MOSTLYCLEANFILES += wctype.h wctype.h-t
EXTRA_DIST += wctype_.h
## end gnulib module wctype
## begin gnulib module wcwidth
libcoreutils_a_SOURCES += wcwidth.h
@@ -1892,13 +2178,20 @@ EXTRA_libcoreutils_a_SOURCES += xnanosleep.c
## begin gnulib module xreadlink
libcoreutils_a_SOURCES += xreadlink.c
EXTRA_DIST += xreadlink.c xreadlink.h
EXTRA_libcoreutils_a_SOURCES += xreadlink.c
EXTRA_DIST += xreadlink.h
## end gnulib module xreadlink
## begin gnulib module xreadlink-with-size
libcoreutils_a_SOURCES += xreadlink-with-size.c
EXTRA_DIST += xreadlink.h
## end gnulib module xreadlink-with-size
## begin gnulib module xstrndup
libcoreutils_a_SOURCES += xstrndup.h xstrndup.c
+1 -3
View File
@@ -1,6 +1,6 @@
/* hard-locale.c -- Determine whether a locale is hard.
Copyright (C) 1997, 1998, 1999, 2002, 2003, 2004, 2006 Free
Copyright (C) 1997, 1998, 1999, 2002, 2003, 2004, 2006, 2007 Free
Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
@@ -25,8 +25,6 @@
#include <stdlib.h>
#include <string.h>
#include "strdup.h"
#ifdef __GLIBC__
# define GLIBC_VERSION __GLIBC__
#else
+40 -5
View File
@@ -1,4 +1,4 @@
/* Copyright (C) 2006 Free Software Foundation, Inc.
/* Copyright (C) 2006-2007 Free Software Foundation, Inc.
Written by Paul Eggert, Bruno Haible, Derek Price.
This file is part of gnulib.
@@ -42,6 +42,8 @@
# error "This file assumes that 'int' has exactly 32 bits. Please report your platform and compiler to <[email protected]>."
#endif
/* The definition of GL_LINK_WARNING is copied here. */
/* 7.8.1 Macros for format specifiers */
#if ! defined __cplusplus || defined __STDC_FORMAT_MACROS
@@ -1034,20 +1036,53 @@
extern "C" {
#endif
#if !@HAVE_DECL_IMAXABS@
#if @GNULIB_IMAXABS@
# if !@HAVE_DECL_IMAXABS@
extern intmax_t imaxabs (intmax_t);
# endif
#elif defined GNULIB_POSIXCHECK
# undef imaxabs
# define imaxabs(a) \
(GL_LINK_WARNING ("imaxabs is unportable - " \
"use gnulib module imaxabs for portability"), \
imaxabs (a))
#endif
#if !@HAVE_DECL_IMAXDIV@
#if @GNULIB_IMAXDIV@
# if !@HAVE_DECL_IMAXDIV@
typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t;
extern imaxdiv_t imaxdiv (intmax_t, intmax_t);
# endif
#elif defined GNULIB_POSIXCHECK
# undef imaxdiv
# define imaxdiv(a,b) \
(GL_LINK_WARNING ("imaxdiv is unportable - " \
"use gnulib module imaxdiv for portability"), \
imaxdiv (a, b))
#endif
#if !@HAVE_DECL_STRTOIMAX@
#if @GNULIB_STRTOIMAX@
# if !@HAVE_DECL_STRTOIMAX@
extern intmax_t strtoimax (const char *, char **, int);
# endif
#elif defined GNULIB_POSIXCHECK
# undef strtoimax
# define strtoimax(p,e,b) \
(GL_LINK_WARNING ("strtoimax is unportable - " \
"use gnulib module strtoimax for portability"), \
strtoimax (p, e, b))
#endif
#if !@HAVE_DECL_STRTOUMAX@
#if @GNULIB_STRTOUMAX@
# if !@HAVE_DECL_STRTOUMAX@
extern uintmax_t strtoumax (const char *, char **, int);
# endif
#elif defined GNULIB_POSIXCHECK
# undef strtoumax
# define strtoumax(p,e,b) \
(GL_LINK_WARNING ("strtoumax is unportable - " \
"use gnulib module strtoumax for portability"), \
strtoumax (p, e, b))
#endif
/* Don't bother defining or declaring wcstoimax and wcstoumax, since
+1 -126
View File
@@ -155,132 +155,7 @@
#include <stdio.h>
#include <time.h>
#include <wchar.h>
/* BeOS 5 has the functions but no <wctype.h>. */
#if HAVE_WCTYPE_H
# include <wctype.h>
#endif
/* FreeBSD 4.4 to 4.11 has <wctype.h> but lacks the functions.
Assume all 12 functions are implemented the same way, or not at all. */
#if !defined iswalnum && !HAVE_ISWCNTRL
static inline int
iswalnum (wint_t wc)
{
return (wc >= 0 && wc < 128
? (wc >= '0' && wc <= '9') || ((wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'Z')
: 0);
}
# define iswalnum iswalnum
#endif
#if !defined iswalpha && !HAVE_ISWCNTRL
static inline int
iswalpha (wint_t wc)
{
return (wc >= 0 && wc < 128
? (wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'Z'
: 0);
}
# define iswalpha iswalpha
#endif
#if !defined iswblank && !HAVE_ISWCNTRL
static inline int
iswblank (wint_t wc)
{
return (wc >= 0 && wc < 128
? wc == ' ' || wc == '\t'
: 0);
}
# define iswblank iswblank
#endif
#if !defined iswcntrl && !HAVE_ISWCNTRL
static inline int
iswcntrl (wint_t wc)
{
return (wc >= 0 && wc < 128
? (wc & ~0x1f) == 0 || wc == 0x7f
: 0);
}
# define iswcntrl iswcntrl
#endif
#if !defined iswdigit && !HAVE_ISWCNTRL
static inline int
iswdigit (wint_t wc)
{
return (wc >= '0' && wc <= '9');
}
# define iswdigit iswdigit
#endif
#if !defined iswgraph && !HAVE_ISWCNTRL
static inline int
iswgraph (wint_t wc)
{
return (wc >= 0 && wc < 128
? wc >= '!' && wc <= '~'
: 1);
}
# define iswgraph iswgraph
#endif
#if !defined iswlower && !HAVE_ISWCNTRL
static inline int
iswlower (wint_t wc)
{
return (wc >= 0 && wc < 128
? wc >= 'a' && wc <= 'z'
: 0);
}
# define iswlower iswlower
#endif
#if !defined iswprint && !HAVE_ISWCNTRL
static inline int
iswprint (wint_t wc)
{
return (wc >= 0 && wc < 128
? wc >= ' ' && wc <= '~'
: 1);
}
# define iswprint iswprint
#endif
#if !defined iswpunct && !HAVE_ISWCNTRL
static inline int
iswpunct (wint_t wc)
{
return (wc >= 0 && wc < 128
? wc >= '!' && wc <= '~'
&& !((wc >= '0' && wc <= '9')
|| ((wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'Z'))
: 1);
}
# define iswpunct iswpunct
#endif
#if !defined iswspace && !HAVE_ISWCNTRL
static inline int
iswspace (wint_t wc)
{
return (wc >= 0 && wc < 128
? wc == ' ' || wc == '\t'
|| wc == '\n' || wc == '\v' || wc == '\f' || wc == '\r'
: 0);
}
# define iswspace iswspace
#endif
#if !defined iswupper && !HAVE_ISWCNTRL
static inline int
iswupper (wint_t wc)
{
return (wc >= 0 && wc < 128
? wc >= 'A' && wc <= 'Z'
: 0);
}
# define iswupper iswupper
#endif
#if !defined iswxdigit && !HAVE_ISWCNTRL
static inline int
iswxdigit (wint_t wc)
{
return (wc >= '0' && wc <= '9') || ((wc & ~0x20) >= 'A' && (wc & ~0x20) <= 'F');
}
# define iswxdigit iswxdigit
#endif
#include <wctype.h>
#include "wcwidth.h"
@@ -1,5 +1,5 @@
/* Case-insensitive string comparison function.
Copyright (C) 1998-1999, 2005-2006 Free Software Foundation, Inc.
Copyright (C) 1998-1999, 2005-2007 Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2005,
based on earlier glibc code.
@@ -20,7 +20,7 @@
#include <config.h>
/* Specification. */
#include "strcase.h"
#include <string.h>
#include <ctype.h>
#include <limits.h>
@@ -31,13 +31,13 @@
#define TOLOWER(Ch) (isupper (Ch) ? tolower (Ch) : (Ch))
/* 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.
/* Compare the character 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.
Note: This function may, in multibyte locales, return 0 for strings of
different lengths! */
int
strcasecmp (const char *s1, const char *s2)
mbscasecmp (const char *s1, const char *s2)
{
if (s1 == s2)
return 0;
+3 -16
View File
@@ -1,5 +1,5 @@
/* Determine the number of screen columns needed for a string.
Copyright (C) 2000-2006 Free Software Foundation, Inc.
Copyright (C) 2000-2007 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
@@ -31,26 +31,13 @@
#include <ctype.h>
/* Get mbstate_t, mbrtowc(), mbsinit(). */
#if HAVE_WCHAR_H
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
<wchar.h>.
BSD/OS 4.1 has a bug: <stdio.h> and <time.h> must be included before
<wchar.h>. */
# include <stdio.h>
# include <time.h>
# include <wchar.h>
#endif
#include <wchar.h>
/* Get wcwidth(). */
#include "wcwidth.h"
/* Get iswcntrl(). */
#if HAVE_WCTYPE_H
# include <wctype.h>
#endif
#if !defined iswcntrl && !HAVE_ISWCNTRL
# define iswcntrl(wc) (((wc) & ~0x1f) == 0 || (wc) == 0x7f)
#endif
#include <wctype.h>
#ifndef mbsinit
# if !HAVE_MBSINIT
+3 -3
View File
@@ -1,5 +1,5 @@
/* Determine the number of screen columns needed for a string.
Copyright (C) 2000-2004 Free Software Foundation, Inc.
Copyright (C) 2000-2004, 2007 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
@@ -30,7 +30,7 @@
#endif
#ifdef __cplusplus
#ifdef __cplusplus
extern "C" {
#endif
@@ -56,6 +56,6 @@ extern int mbswidth (const char *string, int flags);
extern int mbsnwidth (const char *buf, size_t nbytes, int flags);
#ifdef __cplusplus
#ifdef __cplusplus
}
#endif
+20 -1
View File
@@ -1,5 +1,5 @@
/* Iterating through multibyte strings: macros for multi-byte encodings.
Copyright (C) 2001, 2005 Free Software Foundation, Inc.
Copyright (C) 2001, 2005, 2007 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
@@ -73,6 +73,9 @@
mbui_reloc (iter, ptrdiff)
relocates iterator when the string is moved by ptrdiff bytes.
mbui_copy (&destiter, &srciter)
copies srciter to destiter.
Here are the function prototypes of the macros.
extern void mbui_init (mbui_iterator_t iter, const char *startptr);
@@ -81,6 +84,7 @@
extern mbchar_t mbui_cur (mbui_iterator_t iter);
extern const char * mbui_cur_ptr (mbui_iterator_t iter);
extern void mbui_reloc (mbui_iterator_t iter, ptrdiff_t ptrdiff);
extern void mbui_copy (mbui_iterator_t *new, const mbui_iterator_t *old);
*/
#ifndef _MBUITER_H
@@ -89,6 +93,7 @@
#include <assert.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
<wchar.h>.
@@ -182,6 +187,17 @@ mbuiter_multi_reloc (struct mbuiter_multi *iter, ptrdiff_t ptrdiff)
iter->cur.ptr += ptrdiff;
}
static inline void
mbuiter_multi_copy (struct mbuiter_multi *new_iter, const struct mbuiter_multi *old_iter)
{
if ((new_iter->in_shift = old_iter->in_shift))
memcpy (&new_iter->state, &old_iter->state, sizeof (mbstate_t));
else
memset (&new_iter->state, 0, sizeof (mbstate_t));
new_iter->next_done = old_iter->next_done;
mb_copy (&new_iter->cur, &old_iter->cur);
}
/* Iteration macros. */
typedef struct mbuiter_multi mbui_iterator_t;
#define mbui_init(iter, startptr) \
@@ -200,4 +216,7 @@ typedef struct mbuiter_multi mbui_iterator_t;
/* Relocation. */
#define mbui_reloc(iter, ptrdiff) mbuiter_multi_reloc (&iter, ptrdiff)
/* Copying an iterator. */
#define mbui_copy mbuiter_multi_copy
#endif /* _MBUITER_H */
+3 -3
View File
@@ -1,5 +1,5 @@
/* Copy memory area and return pointer after last written byte.
Copyright (C) 2003 Free Software Foundation, Inc.
Copyright (C) 2003, 2007 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
@@ -15,9 +15,9 @@
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
/* Specification. */
#include "mempcpy.h"
#include <config.h>
/* Specification. */
#include <string.h>
/* Copy N bytes of SRC to DEST, return pointer to bytes after the
+2 -3
View File
@@ -1,7 +1,7 @@
/* memrchr -- find the last occurrence of a byte in a memory block
Copyright (C) 1991, 1993, 1996, 1997, 1999, 2000, 2003, 2004, 2005,
2006 Free Software Foundation, Inc.
2006, 2007 Free Software Foundation, Inc.
Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
with help from Dan Sahlin (dan@sics.se) and
@@ -24,14 +24,13 @@
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#if defined _LIBC
# include <string.h>
# include <memcopy.h>
#else
# include <config.h>
# include "memrchr.h"
# define reg_char char
#endif
#include <string.h>
#include <limits.h>
#undef __memrchr
-27
View File
@@ -1,27 +0,0 @@
/* memrchr -- Find the last occurrence of a byte in a memory block.
Copyright (C) 2005 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 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#if HAVE_DECL_MEMRCHR
# include <string.h>
#else
# include <stddef.h>
/* Search backwards through a block for a byte (specified as an int). */
void *memrchr (void const *, int, size_t);
#endif
+14 -9
View File
@@ -1,7 +1,7 @@
/* mkdir-p.c -- Ensure that a directory and its parents exist.
Copyright (C) 1990, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
Copyright (C) 1990, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005,
2006, 2007 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
@@ -115,19 +115,24 @@ make_dir_parents (char *dir,
if (0 <= prefix_len)
{
/* If the ownership will change, create the directory with
/* If the ownership might change, or if the directory will be
writeable to other users and its special mode bits may
change after the directory is created, create it with
more restrictive permissions at first, so unauthorized
users cannot nip in before the directory is ready. */
bool keep_owner = owner == (uid_t) -1 && group == (gid_t) -1;
bool keep_special_mode_bits =
((mode_bits & (S_ISUID | S_ISGID)) | (mode & S_ISVTX)) == 0;
mode_t mkdir_mode = mode;
if (! (owner == (uid_t) -1 && group == (gid_t) -1))
mkdir_mode &= S_IRWXU;
if (! keep_owner)
mkdir_mode &= ~ (S_IRWXG | S_IRWXO);
else if (! keep_special_mode_bits)
mkdir_mode &= ~ (S_IWGRP | S_IWOTH);
if (mkdir (dir + prefix_len, mkdir_mode) == 0)
{
announce (dir, options);
preserve_existing =
(owner == (uid_t) -1 && group == (gid_t) -1
&& ! ((mode_bits & (S_ISUID | S_ISGID)) | (mode & S_ISVTX)));
preserve_existing = keep_owner & keep_special_mode_bits;
savewd_chdir_options |=
(SAVEWD_CHDIR_NOFOLLOW
| (mode & S_IRUSR ? SAVEWD_CHDIR_READABLE : 0));
@@ -188,7 +193,7 @@ make_dir_parents (char *dir,
(! chdir_failed_unexpectedly ? errno
: ! chdir_ok && (mode & S_IXUSR) ? chdir_errno
: open_result[1]),
_(owner == (uid_t) -1 && group == (gid_t) -1
_(keep_owner
? "cannot change permissions of %s"
: "cannot change owner and permissions of %s"),
quote (dir));
+2 -2
View File
@@ -1,6 +1,6 @@
/* Invoke mkstemp, but avoid some glitches.
Copyright (C) 2005, 2006 Free Software Foundation, Inc.
Copyright (C) 2005, 2006, 2007 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,7 +22,7 @@
#include "stdlib-safer.h"
#include "mkstemp.h"
#include <stdlib.h>
#include "unistd-safer.h"
/* Like mkstemp, but do not return STDIN_FILENO, STDOUT_FILENO, or
+6 -3
View File
@@ -1,4 +1,4 @@
/* Copyright (C) 1998, 1999, 2001, 2005, 2006 Free Software Foundation, Inc.
/* Copyright (C) 1998, 1999, 2001, 2005, 2006, 2007 Free Software Foundation, Inc.
This file is derived from the one in the GNU C Library.
This program is free software; you can redistribute it and/or modify
@@ -17,14 +17,17 @@
#if !_LIBC
# include <config.h>
# include "mkstemp.h"
#endif
#include <stdlib.h>
#if !_LIBC
# include "tempname.h"
# define __gen_tempname gen_tempname
# define __GT_FILE GT_FILE
#endif
#include <stdio.h>
#include <stdlib.h>
#ifndef __GT_FILE
# define __GT_FILE 0
-31
View File
@@ -1,31 +0,0 @@
/* Create a unique temporary file.
Copyright (C) 2006 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 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
/* written by Jim Meyering */
#include <stdlib.h>
#include <unistd.h>
#ifdef __MKSTEMP_PREFIX
# define _GL_CONCAT(x, y) x ## y
# define _GL_XCONCAT(x, y) _GL_CONCAT (x, y)
# define __MKSTEMP_ID(y) _GL_XCONCAT (__MKSTEMP_PREFIX, y)
# undef mkstemp
# define mkstemp __MKSTEMP_ID (mkstemp)
int mkstemp (char *);
#endif
+3 -7
View File
@@ -1,7 +1,5 @@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Convert a `struct tm' to a time_t value.
Copyright (C) 1993-1999, 2002-2005, 2006 Free Software Foundation, Inc.
Copyright (C) 1993-1999, 2002-2005, 2006, 2007 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Paul Eggert <eggert@twinsun.com>.
@@ -23,7 +21,7 @@
mktime. */
/* #define DEBUG 1 */
#if 1
#ifndef _LIBC
# include <config.h>
#endif
@@ -34,7 +32,6 @@
# define LEAP_SECONDS_POSSIBLE 1
#endif
#include <sys/types.h> /* Some systems define `time_t' here. */
#include <time.h>
#include <limits.h>
@@ -143,11 +140,10 @@ const unsigned short int __mon_yday[2][13] =
#ifndef _LIBC
/* Portable standalone applications should supply a "time_r.h" that
/* Portable standalone applications should supply a <time.h> that
declares a POSIX-compliant localtime_r, for the benefit of older
implementations that lack localtime_r or have a nonstandard one.
See the gnulib time_r module for one way to implement this. */
# include "time_r.h"
# undef __localtime_r
# define __localtime_r localtime_r
# define __mktime_internal mktime_internal
+11 -5
View File
@@ -1,7 +1,7 @@
/* mountlist.c -- return a list of mounted file systems
Copyright (C) 1991, 1992, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
2004, 2005, 2006 Free Software Foundation, Inc.
2004, 2005, 2006, 2007 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,10 +28,6 @@
#include "xalloc.h"
#ifndef strstr
char *strstr ();
#endif
#include <errno.h>
#include <fcntl.h>
@@ -143,6 +139,16 @@ char *strstr ();
# define SIZE_MAX ((size_t) -1)
#endif
/* The results of open() in this file are not used with fchdir,
therefore save some unnecessary work in fchdir.c. */
#undef open
#undef close
/* The results of opendir() in this file are not used with dirfd and fchdir,
therefore save some unnecessary work in fchdir.c. */
#undef opendir
#undef closedir
#ifndef ME_DUMMY
# define ME_DUMMY(Fs_name, Fs_type) \
(strcmp (Fs_type, "autofs") == 0 \
+157
View File
@@ -0,0 +1,157 @@
/* Sort a vector of pointers to data.
Copyright (C) 2007 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 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
/* Written by Paul Eggert. */
#include <config.h>
#include "mpsort.h"
#include <string.h>
/* The type of qsort-style comparison functions. */
typedef int (*comparison_function) (void const *, void const *);
static void mpsort_with_tmp (void const **restrict, size_t,
void const **restrict, comparison_function);
/* Sort a vector BASE containing N pointers, placing the sorted array
into TMP. Compare pointers with CMP. N must be at least 2. */
static void
mpsort_into_tmp (void const **restrict base, size_t n,
void const **restrict tmp,
comparison_function cmp)
{
size_t n1 = n / 2;
size_t n2 = n - n1;
size_t a = 0;
size_t alim = n1;
size_t b = n1;
size_t blim = n;
void const *ba;
void const *bb;
mpsort_with_tmp (base + n1, n2, tmp, cmp);
mpsort_with_tmp (base, n1, tmp, cmp);
ba = base[a];
bb = base[b];
for (;;)
if (cmp (ba, bb) <= 0)
{
*tmp++ = ba;
a++;
if (a == alim)
{
a = b;
alim = blim;
break;
}
ba = base[a];
}
else
{
*tmp++ = bb;
b++;
if (b == blim)
break;
bb = base[b];
}
memcpy (tmp, base + a, (alim - a) * sizeof *base);
}
/* Sort a vector BASE containing N pointers, in place. Use TMP
(containing N / 2 pointers) for temporary storage. Compare
pointers with CMP. */
static void
mpsort_with_tmp (void const **restrict base, size_t n,
void const **restrict tmp,
comparison_function cmp)
{
if (n <= 2)
{
if (n == 2)
{
void const *p0 = base[0];
void const *p1 = base[1];
if (! (cmp (p0, p1) <= 0))
{
base[0] = p1;
base[1] = p0;
}
}
}
else
{
size_t n1 = n / 2;
size_t n2 = n - n1;
size_t i;
size_t t = 0;
size_t tlim = n1;
size_t b = n1;
size_t blim = n;
void const *bb;
void const *tt;
mpsort_with_tmp (base + n1, n2, tmp, cmp);
if (n1 < 2)
tmp[0] = base[0];
else
mpsort_into_tmp (base, n1, tmp, cmp);
tt = tmp[t];
bb = base[b];
for (i = 0; ; )
if (cmp (tt, bb) <= 0)
{
base[i++] = tt;
t++;
if (t == tlim)
break;
tt = tmp[t];
}
else
{
base[i++] = bb;
b++;
if (b == blim)
{
memcpy (base + i, tmp + t, (tlim - t) * sizeof *base);
break;
}
bb = base[b];
}
}
}
/* Sort a vector BASE containing N pointers, in place. BASE must
contain enough storage to hold N + N / 2 vectors; the trailing
vectors are used for temporaries. Compare pointers with CMP. */
void
mpsort (void const **base, size_t n, comparison_function cmp)
{
mpsort_with_tmp (base, n, base + n, cmp);
}
+2
View File
@@ -0,0 +1,2 @@
#include <stddef.h>
void mpsort (void const **, size_t, int (*) (void const *, void const *));
+7 -17
View File
@@ -1,7 +1,7 @@
/* Provide a replacement for the POSIX nanosleep function.
Copyright (C) 1999, 2000, 2002, 2004, 2005, 2006 Free Software
Foundation, Inc.
Copyright (C) 1999, 2000, 2002, 2004, 2005, 2006, 2007 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
@@ -21,9 +21,9 @@
#include <config.h>
/* Undefine nanosleep here so any prototype is not redefined to be a
prototype for rpl_nanosleep. (they'd conflict e.g., on alpha-dec-osf3.2) */
#undef nanosleep
#include <time.h>
#include "timespec.h"
#include <stdbool.h>
#include <stdio.h>
@@ -33,22 +33,12 @@
#endif
#include <signal.h>
#if TIME_WITH_SYS_TIME
# include <sys/time.h>
# include <time.h>
#else
# if HAVE_SYS_TIME_H
# include <sys/time.h>
# else
# include <time.h>
# endif
#endif
#include <sys/time.h>
#include <errno.h>
#include <unistd.h>
#include "timespec.h"
#undef nanosleep
enum { BILLION = 1000 * 1000 * 1000 };
@@ -1,5 +1,5 @@
/* Searching in a string.
Copyright (C) 2001-2002 Free Software Foundation, Inc.
/* Substitute for <netinet/in.h>.
Copyright (C) 2007 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
@@ -15,14 +15,23 @@
along with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#if HAVE_STRPBRK
#ifndef _GL_NETINET_IN_H
#define _GL_NETINET_IN_H
/* Get strpbrk() declaration. */
#include <string.h>
#if @HAVE_NETINET_IN_H@
/* On many platforms, <netinet/in.h> assumes prior inclusion of
<sys/types.h>. */
# include <sys/types.h>
# include @ABSOLUTE_NETINET_IN_H@
#else
/* Find the first occurrence in S of any character in ACCEPT. */
extern char *strpbrk (const char *s, const char *accept);
/* A platform that lacks <netinet/in.h>. */
# include <sys/socket.h>
#endif
#endif /* _GL_NETINET_IN_H */
+5
View File
@@ -34,6 +34,11 @@
#include "same-inode.h"
#include "xalloc.h"
/* The results of open() in this file are not used with fchdir,
therefore save some unnecessary work in fchdir.c. */
#undef open
#undef close
#define PROC_SELF_FD_FORMAT "/proc/self/fd/%d/%s"
#define PROC_SELF_FD_NAME_SIZE_BOUND(len) \
-16
View File
@@ -268,19 +268,3 @@ fdopendir (int fd)
#undef AT_FUNC_USE_F1_COND
#undef AT_FUNC_POST_FILE_PARAM_DECLS
#undef AT_FUNC_POST_FILE_ARGS
/* Replacement for Solaris' function by the same name.
Invoke chown or lchown on file, FILE, using OWNER and GROUP, in the
directory open on descriptor FD. If FLAG is AT_SYMLINK_NOFOLLOW, then
use lchown, otherwise, use chown. If possible, do it without changing
the working directory. Otherwise, resort to using save_cwd/fchdir,
then mkdir/restore_cwd. If either the save_cwd or the restore_cwd
fails, then give a diagnostic and exit nonzero. */
#define AT_FUNC_NAME fchownat
#define AT_FUNC_F1 lchown
#define AT_FUNC_F2 chown
#define AT_FUNC_USE_F1_COND flag == AT_SYMLINK_NOFOLLOW
#define AT_FUNC_POST_FILE_PARAM_DECLS , uid_t owner, gid_t group, int flag
#define AT_FUNC_POST_FILE_ARGS , owner, group
#include "at-func.c"
+2 -10
View File
@@ -1,7 +1,7 @@
/* Parse dates for touch and date.
Copyright (C) 1989, 1990, 1991, 1998, 2000, 2001, 2002, 2003, 2004,
2005, 2006 Free Software Foundation Inc.
2005, 2006, 2007 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,21 +22,13 @@
#include <config.h>
#include <stdbool.h>
#include "posixtm.h"
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <string.h>
#ifdef TM_IN_SYS_TIME
# include <sys/time.h>
#else
# include <time.h>
#endif
#include "posixtm.h"
#if USE_UNLOCKED_IO
# include "unlocked-io.h"
#endif
+4 -1
View File
@@ -1,6 +1,6 @@
/* Parse dates for touch and date.
Copyright (C) 1998, 2003, 2005 Free Software Foundation Inc.
Copyright (C) 1998, 2003, 2005, 2007 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,6 +22,9 @@
#ifndef POSIXTM_H_
# define POSIXTM_H_
# include <stdbool.h>
# include <time.h>
/* POSIX Date Syntax flags. */
# define PDS_LEADING_YEAR 1
# define PDS_TRAILING_YEAR 2
+6 -6
View File
@@ -1,5 +1,5 @@
/* Decomposed printf argument list.
Copyright (C) 1999, 2002-2003, 2005-2006 Free Software Foundation, Inc.
Copyright (C) 1999, 2002-2003, 2005-2007 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
@@ -56,7 +56,7 @@ printf_fetchargs (va_list args, arguments *a)
case TYPE_ULONGINT:
ap->a.a_ulongint = va_arg (args, unsigned long int);
break;
#ifdef HAVE_LONG_LONG_INT
#if HAVE_LONG_LONG_INT
case TYPE_LONGLONGINT:
ap->a.a_longlongint = va_arg (args, long long int);
break;
@@ -67,7 +67,7 @@ printf_fetchargs (va_list args, arguments *a)
case TYPE_DOUBLE:
ap->a.a_double = va_arg (args, double);
break;
#ifdef HAVE_LONG_DOUBLE
#if HAVE_LONG_DOUBLE
case TYPE_LONGDOUBLE:
ap->a.a_longdouble = va_arg (args, long double);
break;
@@ -75,7 +75,7 @@ printf_fetchargs (va_list args, arguments *a)
case TYPE_CHAR:
ap->a.a_char = va_arg (args, int);
break;
#ifdef HAVE_WINT_T
#if HAVE_WINT_T
case TYPE_WIDE_CHAR:
/* Although ISO C 99 7.24.1.(2) says that wint_t is "unchanged by
default argument promotions", this is not the case in mingw32,
@@ -94,7 +94,7 @@ printf_fetchargs (va_list args, arguments *a)
if (ap->a.a_string == NULL)
ap->a.a_string = "(NULL)";
break;
#ifdef HAVE_WCHAR_T
#if HAVE_WCHAR_T
case TYPE_WIDE_STRING:
ap->a.a_wide_string = va_arg (args, const wchar_t *);
/* A null pointer is an invalid argument for "%ls", but in practice
@@ -128,7 +128,7 @@ printf_fetchargs (va_list args, arguments *a)
case TYPE_COUNT_LONGINT_POINTER:
ap->a.a_count_longint_pointer = va_arg (args, long int *);
break;
#ifdef HAVE_LONG_LONG_INT
#if HAVE_LONG_LONG_INT
case TYPE_COUNT_LONGLONGINT_POINTER:
ap->a.a_count_longlongint_pointer = va_arg (args, long long int *);
break;

Some files were not shown because too many files have changed in this diff Show More