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:
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,6 @@
|
|||||||
# Make coreutils. -*-Makefile-*-
|
# Make coreutils. -*-Makefile-*-
|
||||||
|
|
||||||
# Copyright (C) 1990, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
# Copyright (C) 1990, 1993-2007 Free Software Foundation, Inc.
|
||||||
# 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# Customize Makefile.maint. -*- makefile -*-
|
# 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
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -33,4 +33,8 @@ gpg_key_ID = D333CBA1
|
|||||||
# Exclude changelog-check here so that there's less churn in ChangeLog
|
# Exclude changelog-check here so that there's less churn in ChangeLog
|
||||||
# files -- otherwise, you'd need to have the upcoming version number
|
# files -- otherwise, you'd need to have the upcoming version number
|
||||||
# at the top of the file for each `make distcheck' run.
|
# 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
@@ -16,8 +16,7 @@
|
|||||||
|
|
||||||
# Make coreutils. -*-Makefile-*-
|
# Make coreutils. -*-Makefile-*-
|
||||||
|
|
||||||
# Copyright (C) 1990, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
# Copyright (C) 1990, 1993-2007 Free Software Foundation, Inc.
|
||||||
# 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -83,15 +82,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/absolute-header.m4 \
|
|||||||
$(top_srcdir)/m4/euidaccess-stat.m4 \
|
$(top_srcdir)/m4/euidaccess-stat.m4 \
|
||||||
$(top_srcdir)/m4/euidaccess.m4 $(top_srcdir)/m4/exclude.m4 \
|
$(top_srcdir)/m4/euidaccess.m4 $(top_srcdir)/m4/exclude.m4 \
|
||||||
$(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.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/fchdir.m4 $(top_srcdir)/m4/fcntl-safer.m4 \
|
||||||
$(top_srcdir)/m4/fd-reopen.m4 $(top_srcdir)/m4/file-type.m4 \
|
$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fd-reopen.m4 \
|
||||||
$(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filemode.m4 \
|
$(top_srcdir)/m4/file-type.m4 $(top_srcdir)/m4/fileblocks.m4 \
|
||||||
$(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/flexmember.m4 \
|
$(top_srcdir)/m4/filemode.m4 $(top_srcdir)/m4/filenamecat.m4 \
|
||||||
$(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \
|
$(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/fnmatch.m4 \
|
||||||
$(top_srcdir)/m4/fprintftime.m4 $(top_srcdir)/m4/free.m4 \
|
$(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fprintftime.m4 \
|
||||||
$(top_srcdir)/m4/fstypename.m4 $(top_srcdir)/m4/fsusage.m4 \
|
$(top_srcdir)/m4/free.m4 $(top_srcdir)/m4/fstypename.m4 \
|
||||||
$(top_srcdir)/m4/ftruncate.m4 $(top_srcdir)/m4/fts.m4 \
|
$(top_srcdir)/m4/fsusage.m4 $(top_srcdir)/m4/ftruncate.m4 \
|
||||||
$(top_srcdir)/m4/getaddrinfo.m4 \
|
$(top_srcdir)/m4/fts.m4 $(top_srcdir)/m4/getaddrinfo.m4 \
|
||||||
$(top_srcdir)/m4/getcwd-abort-bug.m4 \
|
$(top_srcdir)/m4/getcwd-abort-bug.m4 \
|
||||||
$(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
|
$(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
|
||||||
$(top_srcdir)/m4/getdate.m4 $(top_srcdir)/m4/getdelim.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/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
|
||||||
$(top_srcdir)/m4/getugroups.m4 \
|
$(top_srcdir)/m4/getugroups.m4 \
|
||||||
$(top_srcdir)/m4/getusershell.m4 $(top_srcdir)/m4/glibc21.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/gnulib-comp.m4 \
|
||||||
$(top_srcdir)/m4/group-member.m4 \
|
$(top_srcdir)/m4/group-member.m4 \
|
||||||
$(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/hash.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/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \
|
||||||
$(top_srcdir)/m4/ls-mntd-fs.m4 $(top_srcdir)/m4/lstat.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/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \
|
||||||
$(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbstate_t.m4 \
|
$(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbscasecmp.m4 \
|
||||||
$(top_srcdir)/m4/mbswidth.m4 $(top_srcdir)/m4/md5.m4 \
|
$(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbswidth.m4 \
|
||||||
$(top_srcdir)/m4/memcasecmp.m4 $(top_srcdir)/m4/memchr.m4 \
|
$(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memcasecmp.m4 \
|
||||||
$(top_srcdir)/m4/memcmp.m4 $(top_srcdir)/m4/memcoll.m4 \
|
$(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/memcmp.m4 \
|
||||||
$(top_srcdir)/m4/memcpy.m4 $(top_srcdir)/m4/memmove.m4 \
|
$(top_srcdir)/m4/memcoll.m4 $(top_srcdir)/m4/memcpy.m4 \
|
||||||
$(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \
|
$(top_srcdir)/m4/memmove.m4 $(top_srcdir)/m4/mempcpy.m4 \
|
||||||
$(top_srcdir)/m4/memset.m4 $(top_srcdir)/m4/memxfrm.m4 \
|
$(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/memset.m4 \
|
||||||
$(top_srcdir)/m4/mkancesdirs.m4 $(top_srcdir)/m4/mkdir-p.m4 \
|
$(top_srcdir)/m4/memxfrm.m4 $(top_srcdir)/m4/mkancesdirs.m4 \
|
||||||
$(top_srcdir)/m4/mkdir-slash.m4 $(top_srcdir)/m4/mkstemp.m4 \
|
$(top_srcdir)/m4/mkdir-p.m4 $(top_srcdir)/m4/mkdir-slash.m4 \
|
||||||
$(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/modechange.m4 \
|
$(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \
|
||||||
$(top_srcdir)/m4/mountlist.m4 $(top_srcdir)/m4/nanosleep.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/netinet_in_h.m4 $(top_srcdir)/m4/nls.m4 \
|
||||||
$(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/pathmax.m4 \
|
$(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/pathmax.m4 \
|
||||||
$(top_srcdir)/m4/perl.m4 $(top_srcdir)/m4/physmem.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/stat-prog.m4 $(top_srcdir)/m4/stat-time.m4 \
|
||||||
$(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.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/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \
|
||||||
$(top_srcdir)/m4/stdio-safer.m4 \
|
$(top_srcdir)/m4/stdio-safer.m4 $(top_srcdir)/m4/stdio_h.m4 \
|
||||||
$(top_srcdir)/m4/stdlib-safer.m4 $(top_srcdir)/m4/stpcpy.m4 \
|
$(top_srcdir)/m4/stdlib-safer.m4 $(top_srcdir)/m4/stdlib_h.m4 \
|
||||||
$(top_srcdir)/m4/strcase.m4 $(top_srcdir)/m4/strcspn.m4 \
|
$(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcspn.m4 \
|
||||||
$(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strftime.m4 \
|
$(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strftime.m4 \
|
||||||
$(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
|
$(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
|
||||||
$(top_srcdir)/m4/strnumcmp.m4 $(top_srcdir)/m4/strpbrk.m4 \
|
$(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strnumcmp.m4 \
|
||||||
$(top_srcdir)/m4/strtod.m4 $(top_srcdir)/m4/strtoimax.m4 \
|
$(top_srcdir)/m4/strpbrk.m4 $(top_srcdir)/m4/strtod.m4 \
|
||||||
$(top_srcdir)/m4/strtol.m4 $(top_srcdir)/m4/strtoll.m4 \
|
$(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \
|
||||||
$(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \
|
$(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \
|
||||||
$(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/strverscmp.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_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/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
|
||||||
$(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/tzset.m4 \
|
$(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/tzset.m4 \
|
||||||
$(top_srcdir)/m4/unicodeio.m4 $(top_srcdir)/m4/unistd-safer.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/utimecmp.m4 $(top_srcdir)/m4/utimens.m4 \
|
||||||
$(top_srcdir)/m4/utimes-null.m4 $(top_srcdir)/m4/utimes.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/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/wint_t.m4 $(top_srcdir)/m4/xalloc.m4 \
|
||||||
$(top_srcdir)/m4/xfts.m4 $(top_srcdir)/m4/xgetcwd.m4 \
|
$(top_srcdir)/m4/xfts.m4 $(top_srcdir)/m4/xgetcwd.m4 \
|
||||||
$(top_srcdir)/m4/xnanosleep.m4 $(top_srcdir)/m4/xreadlink.m4 \
|
$(top_srcdir)/m4/xnanosleep.m4 $(top_srcdir)/m4/xstrndup.m4 \
|
||||||
$(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtod.m4 \
|
$(top_srcdir)/m4/xstrtod.m4 $(top_srcdir)/m4/xstrtol.m4 \
|
||||||
$(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/m4/yesno.m4 \
|
$(top_srcdir)/m4/yesno.m4 $(top_srcdir)/configure.ac
|
||||||
$(top_srcdir)/configure.ac
|
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
$(ACLOCAL_M4)
|
$(ACLOCAL_M4)
|
||||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
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
|
GZIP_ENV = --best
|
||||||
distuninstallcheck_listfiles = find . -type f -print
|
distuninstallcheck_listfiles = find . -type f -print
|
||||||
distcleancheck_listfiles = find . -type f -print
|
distcleancheck_listfiles = find . -type f -print
|
||||||
|
ABSOLUTE_DIRENT_H = @ABSOLUTE_DIRENT_H@
|
||||||
ABSOLUTE_FCNTL_H = @ABSOLUTE_FCNTL_H@
|
ABSOLUTE_FCNTL_H = @ABSOLUTE_FCNTL_H@
|
||||||
ABSOLUTE_INTTYPES_H = @ABSOLUTE_INTTYPES_H@
|
ABSOLUTE_INTTYPES_H = @ABSOLUTE_INTTYPES_H@
|
||||||
|
ABSOLUTE_NETINET_IN_H = @ABSOLUTE_NETINET_IN_H@
|
||||||
ABSOLUTE_STDINT_H = @ABSOLUTE_STDINT_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_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@
|
ACLOCAL = @ACLOCAL@
|
||||||
ALLOCA = @ALLOCA@
|
ALLOCA = @ALLOCA@
|
||||||
ALLOCA_H = @ALLOCA_H@
|
ALLOCA_H = @ALLOCA_H@
|
||||||
@@ -249,6 +263,7 @@ DEFAULT_POSIX2_VERSION = @DEFAULT_POSIX2_VERSION@
|
|||||||
DEFS = @DEFS@
|
DEFS = @DEFS@
|
||||||
DEPDIR = @DEPDIR@
|
DEPDIR = @DEPDIR@
|
||||||
DF_PROG = @DF_PROG@
|
DF_PROG = @DF_PROG@
|
||||||
|
DIRENT_H = @DIRENT_H@
|
||||||
ECHO_C = @ECHO_C@
|
ECHO_C = @ECHO_C@
|
||||||
ECHO_N = @ECHO_N@
|
ECHO_N = @ECHO_N@
|
||||||
ECHO_T = @ECHO_T@
|
ECHO_T = @ECHO_T@
|
||||||
@@ -262,23 +277,103 @@ GETOPT_H = @GETOPT_H@
|
|||||||
GLIBC21 = @GLIBC21@
|
GLIBC21 = @GLIBC21@
|
||||||
GMSGFMT = @GMSGFMT@
|
GMSGFMT = @GMSGFMT@
|
||||||
GMSGFMT_015 = @GMSGFMT_015@
|
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@
|
GNU_PACKAGE = @GNU_PACKAGE@
|
||||||
GREP = @GREP@
|
GREP = @GREP@
|
||||||
|
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
|
||||||
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
|
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
|
||||||
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
|
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_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
|
||||||
|
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
|
||||||
HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
|
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_INTTYPES_H = @HAVE_INTTYPES_H@
|
||||||
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
|
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_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
|
||||||
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
|
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
|
||||||
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
|
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
|
||||||
HAVE_STDINT_H = @HAVE_STDINT_H@
|
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_BITYPES_H = @HAVE_SYS_BITYPES_H@
|
||||||
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_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_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
|
||||||
|
HAVE_UNISTD_H = @HAVE_UNISTD_H@
|
||||||
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
|
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@
|
HAVE__BOOL = @HAVE__BOOL@
|
||||||
HELP2MAN = @HELP2MAN@
|
HELP2MAN = @HELP2MAN@
|
||||||
INSTALL = @INSTALL@
|
INSTALL = @INSTALL@
|
||||||
@@ -298,6 +393,7 @@ LIBINTL = @LIBINTL@
|
|||||||
LIBOBJS = @LIBOBJS@
|
LIBOBJS = @LIBOBJS@
|
||||||
LIBS = @LIBS@
|
LIBS = @LIBS@
|
||||||
LIB_ACL = @LIB_ACL@
|
LIB_ACL = @LIB_ACL@
|
||||||
|
LIB_ACL_TRIVIAL = @LIB_ACL_TRIVIAL@
|
||||||
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
|
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
|
||||||
LIB_CRYPT = @LIB_CRYPT@
|
LIB_CRYPT = @LIB_CRYPT@
|
||||||
LIB_EACCESS = @LIB_EACCESS@
|
LIB_EACCESS = @LIB_EACCESS@
|
||||||
@@ -332,6 +428,23 @@ PRIPTR_PREFIX = @PRIPTR_PREFIX@
|
|||||||
PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
|
PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
|
||||||
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
|
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
|
||||||
RANLIB = @RANLIB@
|
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@
|
SEQ_LIBM = @SEQ_LIBM@
|
||||||
SET_MAKE = @SET_MAKE@
|
SET_MAKE = @SET_MAKE@
|
||||||
SHELL = @SHELL@
|
SHELL = @SHELL@
|
||||||
@@ -342,11 +455,15 @@ STDINT_H = @STDINT_H@
|
|||||||
STRIP = @STRIP@
|
STRIP = @STRIP@
|
||||||
SYS_SOCKET_H = @SYS_SOCKET_H@
|
SYS_SOCKET_H = @SYS_SOCKET_H@
|
||||||
SYS_STAT_H = @SYS_STAT_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@
|
U = @U@
|
||||||
UNISTD_H = @UNISTD_H@
|
|
||||||
USE_NLS = @USE_NLS@
|
USE_NLS = @USE_NLS@
|
||||||
VERSION = @VERSION@
|
VERSION = @VERSION@
|
||||||
|
WCHAR_H = @WCHAR_H@
|
||||||
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
|
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
|
||||||
|
WCTYPE_H = @WCTYPE_H@
|
||||||
WINT_T_SUFFIX = @WINT_T_SUFFIX@
|
WINT_T_SUFFIX = @WINT_T_SUFFIX@
|
||||||
XGETTEXT = @XGETTEXT@
|
XGETTEXT = @XGETTEXT@
|
||||||
XGETTEXT_015 = @XGETTEXT_015@
|
XGETTEXT_015 = @XGETTEXT_015@
|
||||||
@@ -455,15 +572,15 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
|||||||
@for dep in $?; do \
|
@for dep in $?; do \
|
||||||
case '$(am__configure_deps)' in \
|
case '$(am__configure_deps)' in \
|
||||||
*$$dep*) \
|
*$$dep*) \
|
||||||
echo ' cd $(srcdir) && $(AUTOMAKE) --gnits '; \
|
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
|
||||||
cd $(srcdir) && $(AUTOMAKE) --gnits \
|
cd $(srcdir) && $(AUTOMAKE) --gnu \
|
||||||
&& exit 0; \
|
&& exit 0; \
|
||||||
exit 1;; \
|
exit 1;; \
|
||||||
esac; \
|
esac; \
|
||||||
done; \
|
done; \
|
||||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits Makefile'; \
|
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
|
||||||
cd $(top_srcdir) && \
|
cd $(top_srcdir) && \
|
||||||
$(AUTOMAKE) --gnits Makefile
|
$(AUTOMAKE) --gnu Makefile
|
||||||
.PRECIOUS: Makefile
|
.PRECIOUS: Makefile
|
||||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
@case '$?' in \
|
@case '$?' in \
|
||||||
@@ -615,12 +732,6 @@ distclean-tags:
|
|||||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||||
|
|
||||||
distdir: $(DISTFILES)
|
distdir: $(DISTFILES)
|
||||||
@case `sed 15q $(srcdir)/NEWS` in \
|
|
||||||
*"$(VERSION)"*) : ;; \
|
|
||||||
*) \
|
|
||||||
echo "NEWS not updated; not releasing" 1>&2; \
|
|
||||||
exit 1;; \
|
|
||||||
esac
|
|
||||||
$(am__remove_distdir)
|
$(am__remove_distdir)
|
||||||
test -d $(distdir) || mkdir $(distdir)
|
test -d $(distdir) || mkdir $(distdir)
|
||||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
# This Makefile fragment is shared between the coreutils,
|
# This Makefile fragment is shared between the coreutils,
|
||||||
# CPPI, Bison, and Autoconf.
|
# 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
|
## This program is free software; you can redistribute it and/or modify
|
||||||
## it under the terms of the GNU General Public License as published by
|
## it under the terms of the GNU General Public License as published by
|
||||||
@@ -32,6 +32,7 @@ GZIP_ENV = '--no-name --best $(gzip_rsyncable)'
|
|||||||
CVS = cvs
|
CVS = cvs
|
||||||
GIT = git
|
GIT = git
|
||||||
VC = $(GIT)
|
VC = $(GIT)
|
||||||
|
VC-tag = git-tag -s -m '$(VERSION)'
|
||||||
|
|
||||||
CVS_LIST = build-aux/vc-list-files
|
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
|
# 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.
|
# 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.
|
# Checks that don't require cvs.
|
||||||
# Run `changelog-check' last, as previous test may reveal problems requiring
|
# Run `changelog-check' last, as previous test may reveal problems requiring
|
||||||
# new ChangeLog entries.
|
# new ChangeLog entries.
|
||||||
local-checks-available = \
|
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) \
|
changelog-check patch-check strftime-check $(syntax-check-rules) \
|
||||||
makefile_path_separator_check \
|
makefile_path_separator_check \
|
||||||
makefile-check check-AUTHORS
|
makefile-check check-AUTHORS
|
||||||
.PHONY: $(local-checks-available)
|
.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: $(local-check)
|
||||||
syntax-check-rules := $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' $(ME))
|
|
||||||
.PHONY: $(syntax-check-rules)
|
|
||||||
|
|
||||||
syntax-check: $(syntax-check-rules)
|
|
||||||
# @grep -nE '# *include <(limits|std(def|arg|bool))\.h>' \
|
# @grep -nE '# *include <(limits|std(def|arg|bool))\.h>' \
|
||||||
# $$(find -type f -name '*.[chly]') && \
|
# $$(find -type f -name '*.[chly]') && \
|
||||||
# { echo '$(ME): found conditional include' 1>&2; \
|
# { echo '$(ME): found conditional include' 1>&2; \
|
||||||
@@ -97,21 +98,17 @@ syntax-check: $(syntax-check-rules)
|
|||||||
# FIXME: don't allow `#include .strings\.h' anywhere
|
# FIXME: don't allow `#include .strings\.h' anywhere
|
||||||
|
|
||||||
sc_cast_of_argument_to_free:
|
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; \
|
{ echo '$(ME): don'\''t cast free argument' 1>&2; \
|
||||||
exit 1; } || :
|
exit 1; } || :
|
||||||
|
|
||||||
sc_cast_of_x_alloc_return_value:
|
sc_cast_of_x_alloc_return_value:
|
||||||
@grep -nE --exclude=$(srcdir)/lib/xalloc.h \
|
@grep -nE '\*\) *x(m|c|re)alloc\>' $$($(CVS_LIST_EXCEPT)) && \
|
||||||
--exclude=$(srcdir)/lib/regex.c \
|
|
||||||
'\*\) *x(m|c|re)alloc\>' \
|
|
||||||
$(srcdir)/{lib,src}/*.[chy] && \
|
|
||||||
{ echo '$(ME): don'\''t cast x*alloc return value' 1>&2; \
|
{ echo '$(ME): don'\''t cast x*alloc return value' 1>&2; \
|
||||||
exit 1; } || :
|
exit 1; } || :
|
||||||
|
|
||||||
sc_cast_of_alloca_return_value:
|
sc_cast_of_alloca_return_value:
|
||||||
@grep -nE '\*\) *alloca\>' \
|
@grep -nE '\*\) *alloca\>' $$($(CVS_LIST_EXCEPT)) && \
|
||||||
$(srcdir)/src/*.[chy] && \
|
|
||||||
{ echo '$(ME): don'\''t cast alloca return value' 1>&2; \
|
{ echo '$(ME): don'\''t cast alloca return value' 1>&2; \
|
||||||
exit 1; } || :
|
exit 1; } || :
|
||||||
|
|
||||||
@@ -120,18 +117,18 @@ sc_space_tab:
|
|||||||
{ echo '$(ME): found SPACE-TAB sequence; remove the SPACE' \
|
{ echo '$(ME): found SPACE-TAB sequence; remove the SPACE' \
|
||||||
1>&2; exit 1; } || :
|
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.
|
# They provide no error checking mechanism.
|
||||||
# Instead, use strto* functions.
|
# Instead, use strto* functions.
|
||||||
sc_prohibit_atoi_atof:
|
sc_prohibit_atoi_atof:
|
||||||
@grep -nE '\<ato([filq]|ll)\>' $$($(CVS_LIST_EXCEPT)) && \
|
@grep -nE '\<([fs]?scanf|ato([filq]|ll))\>' $$($(CVS_LIST_EXCEPT)) && \
|
||||||
{ echo '$(ME): do not use ato''f, ato''i, ato''l, ato''ll, or ato''q' \
|
{ echo '$(ME): do not use *scan''f, ato''f, ato''i, ato''l, ato''ll, or ato''q' \
|
||||||
1>&2; exit 1; } || :
|
1>&2; exit 1; } || :
|
||||||
|
|
||||||
# Using EXIT_SUCCESS as the first argument to error is misleading,
|
# Using EXIT_SUCCESS as the first argument to error is misleading,
|
||||||
# since when that parameter is 0, error does not exit. Use `0' instead.
|
# since when that parameter is 0, error does not exit. Use `0' instead.
|
||||||
sc_error_exit_success:
|
sc_error_exit_success:
|
||||||
@grep -nF 'error (EXIT_SUCCESS,' \
|
@grep -nF 'error (EXIT_SUCCESS,' \
|
||||||
$$(find -type f -name '*.[chly]') && \
|
$$(find -type f -name '*.[chly]') && \
|
||||||
{ echo '$(ME): found error (EXIT_SUCCESS' 1>&2; \
|
{ echo '$(ME): found error (EXIT_SUCCESS' 1>&2; \
|
||||||
exit 1; } || :
|
exit 1; } || :
|
||||||
@@ -211,7 +208,9 @@ sc_prohibit_jm_in_m4:
|
|||||||
1>&2; exit 1; } || :
|
1>&2; exit 1; } || :
|
||||||
|
|
||||||
sc_root_tests:
|
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' \
|
grep -nl '^PRIV_CHECK_ARG=require-root' \
|
||||||
$$($(CVS_LIST) tests) |sed s,tests,., |sort > $$t1; \
|
$$($(CVS_LIST) tests) |sed s,tests,., |sort > $$t1; \
|
||||||
sed -n 's, cd \([^ ]*\) .*MAKE..check TESTS=\(.*\),./\1/\2,p' \
|
sed -n 's, cd \([^ ]*\) .*MAKE..check TESTS=\(.*\),./\1/\2,p' \
|
||||||
@@ -220,7 +219,8 @@ sc_root_tests:
|
|||||||
rm -f $$t1 $$t2; \
|
rm -f $$t1 $$t2; \
|
||||||
test "$$diff" \
|
test "$$diff" \
|
||||||
&& { echo 'tests/Makefile.am: missing check-root action'>&2; \
|
&& { echo 'tests/Makefile.am: missing check-root action'>&2; \
|
||||||
exit 1; } || :
|
exit 1; } || :; \
|
||||||
|
fi
|
||||||
|
|
||||||
headers_with_interesting_macro_defs = \
|
headers_with_interesting_macro_defs = \
|
||||||
exit.h \
|
exit.h \
|
||||||
@@ -300,7 +300,7 @@ sc_trailing_blank:
|
|||||||
# Match lines like the following, but where there is only one space
|
# Match lines like the following, but where there is only one space
|
||||||
# between the options and the description:
|
# between the options and the description:
|
||||||
# -D, --all-repeated[=delimit-method] print all duplicate lines\n
|
# -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:
|
sc_two_space_separator_in_usage:
|
||||||
@grep -nE '^ *(-[A-Za-z],)? $(longopt_re) [^ ].*\\$$' \
|
@grep -nE '^ *(-[A-Za-z],)? $(longopt_re) [^ ].*\\$$' \
|
||||||
$$($(CVS_LIST_EXCEPT)) && \
|
$$($(CVS_LIST_EXCEPT)) && \
|
||||||
@@ -328,7 +328,7 @@ sc_useless_cpp_parens:
|
|||||||
patch-check:
|
patch-check:
|
||||||
rm -rf src-c89 $@.1 $@.2
|
rm -rf src-c89 $@.1 $@.2
|
||||||
cp -a src src-c89
|
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
|
> $@.1 2>&1
|
||||||
if test "$${REGEN_PATCH+set}" = set; then \
|
if test "$${REGEN_PATCH+set}" = set; then \
|
||||||
diff -upr src src-c89 > new-diff || : ; fi
|
diff -upr src src-c89 > new-diff || : ; fi
|
||||||
@@ -338,8 +338,8 @@ patch-check:
|
|||||||
$(MAKE) -C src-c89 CFLAGS='-Wdeclaration-after-statement -Werror' \
|
$(MAKE) -C src-c89 CFLAGS='-Wdeclaration-after-statement -Werror' \
|
||||||
|| msg='compile failure with extra options'; \
|
|| msg='compile failure with extra options'; \
|
||||||
rm -rf src-c89 $@.1 $@.2; \
|
rm -rf src-c89 $@.1 $@.2; \
|
||||||
test $$msg = ok && : || echo "$$msg" 1>&2; \
|
test "$$msg" = ok && : || echo "$$msg" 1>&2; \
|
||||||
test $$msg = ok
|
test "$$msg" = ok
|
||||||
|
|
||||||
# Ensure that date's --help output stays in sync with the info
|
# Ensure that date's --help output stays in sync with the info
|
||||||
# documentation for GNU strftime. The only exception is %N,
|
# documentation for GNU strftime. The only exception is %N,
|
||||||
@@ -367,22 +367,22 @@ makefile-check:
|
|||||||
&& { echo 'Makefile.maint: use $$(...), not @...@' 1>&2; exit 1; } || :
|
&& { echo 'Makefile.maint: use $$(...), not @...@' 1>&2; exit 1; } || :
|
||||||
|
|
||||||
news-date-check: NEWS
|
news-date-check: NEWS
|
||||||
today=`date +%Y-%m-%d`; \
|
today=`date +%Y-%m-%d`; \
|
||||||
if head NEWS | grep '^\*.* $(VERSION_REGEXP) ('$$today')' \
|
if head NEWS | grep '^\*.* $(VERSION_REGEXP) ('$$today')' \
|
||||||
>/dev/null; then \
|
>/dev/null; then \
|
||||||
:; \
|
:; \
|
||||||
else \
|
else \
|
||||||
echo "version or today's date is not in NEWS" 1>&2; \
|
echo "version or today's date is not in NEWS" 1>&2; \
|
||||||
exit 1; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
changelog-check:
|
changelog-check:
|
||||||
if head ChangeLog | grep 'Version $(VERSION_REGEXP)\.$$' \
|
if head ChangeLog | grep 'Version $(VERSION_REGEXP)\.$$' \
|
||||||
>/dev/null; then \
|
>/dev/null; then \
|
||||||
:; \
|
:; \
|
||||||
else \
|
else \
|
||||||
echo "$(VERSION) not in ChangeLog" 1>&2; \
|
echo "$(VERSION) not in ChangeLog" 1>&2; \
|
||||||
exit 1; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
m4-check:
|
m4-check:
|
||||||
@@ -400,6 +400,7 @@ po-check:
|
|||||||
for file in $$($(CVS_LIST_EXCEPT)) lib/*.[ch]; do \
|
for file in $$($(CVS_LIST_EXCEPT)) lib/*.[ch]; do \
|
||||||
case $$file in \
|
case $$file in \
|
||||||
djgpp/* | man/*) continue;; \
|
djgpp/* | man/*) continue;; \
|
||||||
|
*/c99-to-c89.diff) continue;; \
|
||||||
esac; \
|
esac; \
|
||||||
case $$file in \
|
case $$file in \
|
||||||
*.[ch]) \
|
*.[ch]) \
|
||||||
@@ -448,6 +449,7 @@ writable-files:
|
|||||||
test "$$fail" && exit 1 || :
|
test "$$fail" && exit 1 || :
|
||||||
|
|
||||||
v_etc_file = lib/version-etc.c
|
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.
|
# Make sure that the copyright date in $(v_etc_file) is up to date.
|
||||||
copyright-check:
|
copyright-check:
|
||||||
@if test -f $(v_etc_file); then \
|
@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; \
|
|| { echo 'out of date copyright in $(v_etc_file); update it' 1>&2; \
|
||||||
exit 1; }; \
|
exit 1; }; \
|
||||||
fi
|
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.
|
# Sanity checks with the repository.
|
||||||
# Abort early if this tag has already been used.
|
# Abort early if this tag has already been used.
|
||||||
vc-tag-check:
|
vc-tag-check:
|
||||||
used=no; \
|
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 \
|
$(CVS) -n log -h README|grep -e $(this-vc-tag): >/dev/null \
|
||||||
&& used=yes; \
|
&& used=yes; \
|
||||||
else \
|
else \
|
||||||
@@ -494,7 +502,7 @@ maintainer-distcheck:
|
|||||||
# checks fail. Also, make sure the NEWS file is up-to-date.
|
# checks fail. Also, make sure the NEWS file is up-to-date.
|
||||||
# FIXME: use dist-hook/my-dist like distcheck-hook/my-distcheck.
|
# FIXME: use dist-hook/my-dist like distcheck-hook/my-distcheck.
|
||||||
vc-dist: $(local-check) cvs-check maintainer-distcheck
|
vc-dist: $(local-check) cvs-check maintainer-distcheck
|
||||||
$(VC) tag $(this-vc-tag)
|
$(VC-tag) $(this-vc-tag)
|
||||||
$(MAKE) dist
|
$(MAKE) dist
|
||||||
|
|
||||||
# Use this to make sure we don't run these programs when building
|
# Use this to make sure we don't run these programs when building
|
||||||
@@ -506,11 +514,11 @@ null_AM_MAKEFLAGS = \
|
|||||||
AUTOHEADER=false \
|
AUTOHEADER=false \
|
||||||
MAKEINFO=false
|
MAKEINFO=false
|
||||||
|
|
||||||
# Detect format-string/arg-list mismatches that would normally be obscured
|
warn_cflags = -Dlint -O -Werror -Wall -Wformat -Wshadow -Wpointer-arith
|
||||||
# by the use of _(). The --disable-nls effectively defines away that macro,
|
|
||||||
# and building with CFLAGS='-Wformat -Werror' causes any format warning to be
|
# Use -Wformat -Werror to detect format-string/arg-list mismatches.
|
||||||
# treated as a failure. Also, check for shadowing problems with -Wshadow,
|
# Also, check for shadowing problems with -Wshadow, and for pointer
|
||||||
# and for pointer arithmetic problems with -Wpointer-arith.
|
# arithmetic problems with -Wpointer-arith.
|
||||||
# These CFLAGS are pretty strict. If you build this target, you probably
|
# These CFLAGS are pretty strict. If you build this target, you probably
|
||||||
# have to have a recent version of gcc and glibc headers.
|
# have to have a recent version of gcc and glibc headers.
|
||||||
TMPDIR ?= /tmp
|
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
|
GZIP=$(GZIP_ENV) $(AMTAR) -C $(t) -zxf $(distdir).tar.gz
|
||||||
cd $(t)/$(distdir) \
|
cd $(t)/$(distdir) \
|
||||||
&& ./configure --disable-nls \
|
&& ./configure --disable-nls \
|
||||||
&& $(MAKE) CFLAGS='-Werror -Wall -Wformat -Wshadow -Wpointer-arith' \
|
&& $(MAKE) CFLAGS='$(warn_cflags)' \
|
||||||
AM_MAKEFLAGS='$(null_AM_MAKEFLAGS)' \
|
AM_MAKEFLAGS='$(null_AM_MAKEFLAGS)' \
|
||||||
&& $(MAKE) dvi \
|
&& $(MAKE) dvi \
|
||||||
&& $(MAKE) check \
|
&& $(MAKE) check \
|
||||||
@@ -529,11 +537,13 @@ my-distcheck: $(local-check) $(release_archive_dir)/$(prev-tgz)
|
|||||||
(cd $(t) && mv $(distdir) $(distdir).old \
|
(cd $(t) && mv $(distdir) $(distdir).old \
|
||||||
&& $(AMTAR) -zxf - ) < $(distdir).tar.gz
|
&& $(AMTAR) -zxf - ) < $(distdir).tar.gz
|
||||||
diff -ur $(t)/$(distdir).old $(t)/$(distdir)
|
diff -ur $(t)/$(distdir).old $(t)/$(distdir)
|
||||||
cd $(t)/$(distdir) \
|
if test -f $(srcdir)/src/c99-to-c89.diff; then \
|
||||||
&& (cd src && patch -V never --fuzz=0 <c99-to-c89.diff) \
|
cd $(t)/$(distdir) \
|
||||||
&& ./configure --disable-largefile \
|
&& (cd src && patch -V never --fuzz=0 <c99-to-c89.diff) \
|
||||||
CFLAGS='-Werror -ansi -pedantic -Wno-long-long' \
|
&& ./configure --disable-largefile \
|
||||||
&& $(MAKE)
|
CFLAGS='-Werror -ansi -pedantic -Wno-long-long' \
|
||||||
|
&& $(MAKE); \
|
||||||
|
fi
|
||||||
-rm -rf $(t)
|
-rm -rf $(t)
|
||||||
@echo "========================"; \
|
@echo "========================"; \
|
||||||
echo "$(distdir).tar.gz is ready for distribution"; \
|
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
|
xd-delta = $(PACKAGE)-$(PREV_VERSION)-$(VERSION).xdelta
|
||||||
|
|
||||||
rel-files = $(xd-delta) $(DIST_ARCHIVES)
|
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)
|
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) \
|
--release-type=$(RELEASE_TYPE) \
|
||||||
--package=$(PACKAGE) \
|
--package=$(PACKAGE) \
|
||||||
--prev=$(PREV_VERSION) \
|
--prev=$(PREV_VERSION) \
|
||||||
--curr=$(VERSION) \
|
--curr=$(VERSION) \
|
||||||
--gpg-key-id=$(gpg_key_ID) \
|
--gpg-key-id=$(gpg_key_ID) \
|
||||||
--news=NEWS \
|
--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. ##
|
## Updating files. ##
|
||||||
@@ -580,7 +596,7 @@ emit_upload_commands:
|
|||||||
@echo =====================================
|
@echo =====================================
|
||||||
@echo =====================================
|
@echo =====================================
|
||||||
@echo "$(srcdir)/build-aux/gnupload $(GNUPLOADFLAGS) \\"
|
@echo "$(srcdir)/build-aux/gnupload $(GNUPLOADFLAGS) \\"
|
||||||
@echo " --to $(gnu_rel_host):coreutils \\"
|
@echo " --to $(gnu_rel_host):$(PACKAGE) \\"
|
||||||
@echo " $(rel-files)"
|
@echo " $(rel-files)"
|
||||||
@echo '# send the /tmp/announcement e-mail'
|
@echo '# send the /tmp/announcement e-mail'
|
||||||
@echo =====================================
|
@echo =====================================
|
||||||
@@ -590,7 +606,7 @@ $(xd-delta): $(release_archive_dir)/$(prev-tgz) $(distdir).tar.gz
|
|||||||
xdelta delta -9 $^ $@ || :
|
xdelta delta -9 $^ $@ || :
|
||||||
|
|
||||||
.PHONY: alpha beta major
|
.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 \
|
test $@ = major \
|
||||||
&& { echo $(VERSION) | grep -E '^[0-9]+(\.[0-9]+)+$$' \
|
&& { echo $(VERSION) | grep -E '^[0-9]+(\.[0-9]+)+$$' \
|
||||||
|| { echo "invalid version string: $(VERSION)" 1>&2; exit 1;};}\
|
|| { echo "invalid version string: $(VERSION)" 1>&2; exit 1;};}\
|
||||||
|
|||||||
@@ -1,5 +1,73 @@
|
|||||||
GNU coreutils NEWS -*- outline -*-
|
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]
|
* Noteworthy changes in release 6.7 (2006-12-08) [stable]
|
||||||
|
|
||||||
** Bug fixes
|
** Bug fixes
|
||||||
|
|||||||
@@ -97,6 +97,18 @@ Here is one possible patch to correct the problem:
|
|||||||
+#ifndef __LP64__
|
+#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:
|
Running tests as root:
|
||||||
----------------------
|
----------------------
|
||||||
|
|||||||
@@ -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.
|
strip: add an option to specify the program used to strip binaries.
|
||||||
suggestion from Karl Berry
|
suggestion from Karl Berry
|
||||||
|
|
||||||
|
|||||||
Vendored
+13
-4
@@ -11,8 +11,8 @@
|
|||||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
# PARTICULAR PURPOSE.
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
m4_if(m4_PACKAGE_VERSION, [2.61],,
|
m4_if(m4_PACKAGE_VERSION, [2.61a],,
|
||||||
[m4_fatal([this file was generated for autoconf 2.61.
|
[m4_fatal([this file was generated for autoconf 2.61a.
|
||||||
You have another version of autoconf. If you want to use that,
|
You have another version of autoconf. If you want to use that,
|
||||||
you should regenerate the build system entirely.], [63])])
|
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/exclude.m4])
|
||||||
m4_include([m4/exitfail.m4])
|
m4_include([m4/exitfail.m4])
|
||||||
m4_include([m4/extensions.m4])
|
m4_include([m4/extensions.m4])
|
||||||
|
m4_include([m4/fchdir.m4])
|
||||||
m4_include([m4/fcntl-safer.m4])
|
m4_include([m4/fcntl-safer.m4])
|
||||||
m4_include([m4/fcntl_h.m4])
|
m4_include([m4/fcntl_h.m4])
|
||||||
m4_include([m4/fd-reopen.m4])
|
m4_include([m4/fd-reopen.m4])
|
||||||
@@ -999,6 +1000,7 @@ m4_include([m4/gettimeofday.m4])
|
|||||||
m4_include([m4/getugroups.m4])
|
m4_include([m4/getugroups.m4])
|
||||||
m4_include([m4/getusershell.m4])
|
m4_include([m4/getusershell.m4])
|
||||||
m4_include([m4/glibc21.m4])
|
m4_include([m4/glibc21.m4])
|
||||||
|
m4_include([m4/gnulib-common.m4])
|
||||||
m4_include([m4/gnulib-comp.m4])
|
m4_include([m4/gnulib-comp.m4])
|
||||||
m4_include([m4/group-member.m4])
|
m4_include([m4/group-member.m4])
|
||||||
m4_include([m4/hard-locale.m4])
|
m4_include([m4/hard-locale.m4])
|
||||||
@@ -1036,6 +1038,7 @@ m4_include([m4/lstat.m4])
|
|||||||
m4_include([m4/mbchar.m4])
|
m4_include([m4/mbchar.m4])
|
||||||
m4_include([m4/mbiter.m4])
|
m4_include([m4/mbiter.m4])
|
||||||
m4_include([m4/mbrtowc.m4])
|
m4_include([m4/mbrtowc.m4])
|
||||||
|
m4_include([m4/mbscasecmp.m4])
|
||||||
m4_include([m4/mbstate_t.m4])
|
m4_include([m4/mbstate_t.m4])
|
||||||
m4_include([m4/mbswidth.m4])
|
m4_include([m4/mbswidth.m4])
|
||||||
m4_include([m4/md5.m4])
|
m4_include([m4/md5.m4])
|
||||||
@@ -1056,6 +1059,7 @@ m4_include([m4/mkstemp.m4])
|
|||||||
m4_include([m4/mktime.m4])
|
m4_include([m4/mktime.m4])
|
||||||
m4_include([m4/modechange.m4])
|
m4_include([m4/modechange.m4])
|
||||||
m4_include([m4/mountlist.m4])
|
m4_include([m4/mountlist.m4])
|
||||||
|
m4_include([m4/mpsort.m4])
|
||||||
m4_include([m4/nanosleep.m4])
|
m4_include([m4/nanosleep.m4])
|
||||||
m4_include([m4/netinet_in_h.m4])
|
m4_include([m4/netinet_in_h.m4])
|
||||||
m4_include([m4/nls.m4])
|
m4_include([m4/nls.m4])
|
||||||
@@ -1108,12 +1112,14 @@ m4_include([m4/stdbool.m4])
|
|||||||
m4_include([m4/stdint.m4])
|
m4_include([m4/stdint.m4])
|
||||||
m4_include([m4/stdint_h.m4])
|
m4_include([m4/stdint_h.m4])
|
||||||
m4_include([m4/stdio-safer.m4])
|
m4_include([m4/stdio-safer.m4])
|
||||||
|
m4_include([m4/stdio_h.m4])
|
||||||
m4_include([m4/stdlib-safer.m4])
|
m4_include([m4/stdlib-safer.m4])
|
||||||
|
m4_include([m4/stdlib_h.m4])
|
||||||
m4_include([m4/stpcpy.m4])
|
m4_include([m4/stpcpy.m4])
|
||||||
m4_include([m4/strcase.m4])
|
|
||||||
m4_include([m4/strcspn.m4])
|
m4_include([m4/strcspn.m4])
|
||||||
m4_include([m4/strdup.m4])
|
m4_include([m4/strdup.m4])
|
||||||
m4_include([m4/strftime.m4])
|
m4_include([m4/strftime.m4])
|
||||||
|
m4_include([m4/string_h.m4])
|
||||||
m4_include([m4/strndup.m4])
|
m4_include([m4/strndup.m4])
|
||||||
m4_include([m4/strnlen.m4])
|
m4_include([m4/strnlen.m4])
|
||||||
m4_include([m4/strnumcmp.m4])
|
m4_include([m4/strnumcmp.m4])
|
||||||
@@ -1128,7 +1134,9 @@ m4_include([m4/strtoumax.m4])
|
|||||||
m4_include([m4/strverscmp.m4])
|
m4_include([m4/strverscmp.m4])
|
||||||
m4_include([m4/sys_socket_h.m4])
|
m4_include([m4/sys_socket_h.m4])
|
||||||
m4_include([m4/sys_stat_h.m4])
|
m4_include([m4/sys_stat_h.m4])
|
||||||
|
m4_include([m4/sys_time_h.m4])
|
||||||
m4_include([m4/tempname.m4])
|
m4_include([m4/tempname.m4])
|
||||||
|
m4_include([m4/time_h.m4])
|
||||||
m4_include([m4/time_r.m4])
|
m4_include([m4/time_r.m4])
|
||||||
m4_include([m4/timespec.m4])
|
m4_include([m4/timespec.m4])
|
||||||
m4_include([m4/tm_gmtoff.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/utimes.m4])
|
||||||
m4_include([m4/vasnprintf.m4])
|
m4_include([m4/vasnprintf.m4])
|
||||||
m4_include([m4/vasprintf.m4])
|
m4_include([m4/vasprintf.m4])
|
||||||
|
m4_include([m4/wchar.m4])
|
||||||
m4_include([m4/wchar_t.m4])
|
m4_include([m4/wchar_t.m4])
|
||||||
|
m4_include([m4/wctype.m4])
|
||||||
m4_include([m4/wcwidth.m4])
|
m4_include([m4/wcwidth.m4])
|
||||||
m4_include([m4/wint_t.m4])
|
m4_include([m4/wint_t.m4])
|
||||||
m4_include([m4/xalloc.m4])
|
m4_include([m4/xalloc.m4])
|
||||||
m4_include([m4/xfts.m4])
|
m4_include([m4/xfts.m4])
|
||||||
m4_include([m4/xgetcwd.m4])
|
m4_include([m4/xgetcwd.m4])
|
||||||
m4_include([m4/xnanosleep.m4])
|
m4_include([m4/xnanosleep.m4])
|
||||||
m4_include([m4/xreadlink.m4])
|
|
||||||
m4_include([m4/xstrndup.m4])
|
m4_include([m4/xstrndup.m4])
|
||||||
m4_include([m4/xstrtod.m4])
|
m4_include([m4/xstrtod.m4])
|
||||||
m4_include([m4/xstrtol.m4])
|
m4_include([m4/xstrtol.m4])
|
||||||
|
|||||||
+110
-58
@@ -1,8 +1,8 @@
|
|||||||
#! /bin/sh
|
#! /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
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -29,6 +29,11 @@ nl='
|
|||||||
LC_ALL=C
|
LC_ALL=C
|
||||||
export LC_ALL
|
export LC_ALL
|
||||||
|
|
||||||
|
# Temporary directory names.
|
||||||
|
bt='._bootmp'
|
||||||
|
bt_regex=`echo "$bt"| sed 's/\./[.]/g'`
|
||||||
|
bt2=${bt}2
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
echo >&2 "\
|
echo >&2 "\
|
||||||
Usage: $0 [OPTION]...
|
Usage: $0 [OPTION]...
|
||||||
@@ -38,14 +43,14 @@ Options:
|
|||||||
--gnulib-srcdir=DIRNAME Specify the local directory where gnulib
|
--gnulib-srcdir=DIRNAME Specify the local directory where gnulib
|
||||||
sources reside. Use this if you already
|
sources reside. Use this if you already
|
||||||
have gnulib sources on your machine, and
|
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.
|
them again.
|
||||||
--copy Copy files instead of creating symbolic links.
|
--copy Copy files instead of creating symbolic links.
|
||||||
--force Attempt to bootstrap even if the sources seem
|
--force Attempt to bootstrap even if the sources seem
|
||||||
not to have been checked out.
|
not to have been checked out.
|
||||||
--skip-po Do not download po files.
|
--skip-po Do not download po files.
|
||||||
--cvs-user=USERNAME Set the CVS username to be used when accessing
|
--cvs-user=USERNAME Set the username to use when checking out
|
||||||
the gnulib repository.
|
sources from the gnulib repository.
|
||||||
|
|
||||||
If the file .bootstrap.conf exists in the current working directory, its
|
If the file .bootstrap.conf exists in the current working directory, its
|
||||||
contents are read as shell variables to configure the bootstrap.
|
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
|
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.
|
# Extra files from gnulib, which override files from other sources.
|
||||||
gnulib_extra_files='
|
gnulib_extra_files="
|
||||||
build-aux/announce-gen
|
$build_aux/install-sh
|
||||||
build-aux/install-sh
|
$build_aux/missing
|
||||||
build-aux/missing
|
$build_aux/mdate-sh
|
||||||
build-aux/mdate-sh
|
$build_aux/texinfo.tex
|
||||||
build-aux/texinfo.tex
|
$build_aux/depcomp
|
||||||
build-aux/depcomp
|
$build_aux/config.guess
|
||||||
build-aux/config.guess
|
$build_aux/config.sub
|
||||||
build-aux/config.sub
|
|
||||||
doc/INSTALL
|
doc/INSTALL
|
||||||
'
|
"
|
||||||
|
|
||||||
# Other locale categories that need message catalogs.
|
# Other locale categories that need message catalogs.
|
||||||
EXTRA_LOCALE_CATEGORIES=
|
EXTRA_LOCALE_CATEGORIES=
|
||||||
@@ -113,7 +119,7 @@ excluded_files=
|
|||||||
|
|
||||||
# File that should exist in the top directory of a checked out hierarchy,
|
# File that should exist in the top directory of a checked out hierarchy,
|
||||||
# but not in a distribution tarball.
|
# but not in a distribution tarball.
|
||||||
CVS_only_file=README-cvs
|
checkout_only_file=README-hacking
|
||||||
|
|
||||||
# Whether to use copies instead of symlinks.
|
# Whether to use copies instead of symlinks.
|
||||||
copy=false
|
copy=false
|
||||||
@@ -138,7 +144,7 @@ do
|
|||||||
--skip-po)
|
--skip-po)
|
||||||
SKIP_PO=t;;
|
SKIP_PO=t;;
|
||||||
--force)
|
--force)
|
||||||
CVS_only_file=;;
|
checkout_only_file=;;
|
||||||
--copy)
|
--copy)
|
||||||
copy=true;;
|
copy=true;;
|
||||||
*)
|
*)
|
||||||
@@ -147,12 +153,42 @@ do
|
|||||||
esac
|
esac
|
||||||
done
|
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
|
echo "$0: Bootstrapping from a non-checked-out distribution is risky." >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
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() {
|
cleanup_gnulib() {
|
||||||
status=$?
|
status=$?
|
||||||
@@ -246,7 +282,9 @@ case $SKIP_PO in
|
|||||||
WGET_COMMAND='';;
|
WGET_COMMAND='';;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
get_translations po $package || exit
|
if test -d po; then
|
||||||
|
get_translations po $package || exit
|
||||||
|
fi
|
||||||
|
|
||||||
if test -d runtime-po; then
|
if test -d runtime-po; then
|
||||||
get_translations runtime-po $package-runtime || exit
|
get_translations runtime-po $package-runtime || exit
|
||||||
@@ -315,7 +353,8 @@ cp_mark_as_generated()
|
|||||||
if test -z "$c1"; then
|
if test -z "$c1"; then
|
||||||
cmp -s "$cp_src" "$cp_dst" || {
|
cmp -s "$cp_src" "$cp_dst" || {
|
||||||
echo "$0: cp -f $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
|
else
|
||||||
# Copy the file first to get proper permissions if it
|
# 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-*- buffer-read-only: t -*- vi: set ro:$c2" &&
|
||||||
echo "${c1}DO NOT EDIT! GENERATED AUTOMATICALLY!$c2" &&
|
echo "${c1}DO NOT EDIT! GENERATED AUTOMATICALLY!$c2" &&
|
||||||
cat "$cp_src"
|
sed "s!$bt_regex/!!g" "$cp_src"
|
||||||
) > $cp_dst-t &&
|
) > $cp_dst-t &&
|
||||||
if cmp -s "$cp_dst-t" "$cp_dst"; then
|
if cmp -s "$cp_dst-t" "$cp_dst"; then
|
||||||
rm -f "$cp_dst-t"
|
rm -f "$cp_dst-t"
|
||||||
@@ -362,7 +401,7 @@ slurp() {
|
|||||||
done
|
done
|
||||||
if test $file = Makefile.am; then
|
if test $file = Makefile.am; then
|
||||||
copied=$copied${sep}gnulib.mk; sep=$nl
|
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 || {
|
sed "$remove_intl" $1/$dir/$file | cmp -s - $dir/gnulib.mk || {
|
||||||
echo "$0: Copying $1/$dir/$file to $dir/gnulib.mk ..." &&
|
echo "$0: Copying $1/$dir/$file to $dir/gnulib.mk ..." &&
|
||||||
rm -f $dir/gnulib.mk &&
|
rm -f $dir/gnulib.mk &&
|
||||||
@@ -393,8 +432,12 @@ slurp() {
|
|||||||
for dot_ig in .cvsignore .gitignore; do
|
for dot_ig in .cvsignore .gitignore; do
|
||||||
ig=$dir/$dot_ig
|
ig=$dir/$dot_ig
|
||||||
if test -n "$copied" && test -f $ig; then
|
if test -n "$copied" && test -f $ig; then
|
||||||
echo "$copied" | sort -u - $ig | cmp -s - $ig ||
|
insert_sorted_if_absent $ig "$copied"
|
||||||
echo "$copied" | sort -u - $ig -o $ig || exit
|
# 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
|
fi
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
@@ -402,9 +445,6 @@ slurp() {
|
|||||||
|
|
||||||
|
|
||||||
# Create boot temporary directories to import from gnulib and gettext.
|
# Create boot temporary directories to import from gnulib and gettext.
|
||||||
|
|
||||||
bt='.#bootmp'
|
|
||||||
bt2=${bt}2
|
|
||||||
rm -fr $bt $bt2 &&
|
rm -fr $bt $bt2 &&
|
||||||
mkdir $bt $bt2 || exit
|
mkdir $bt $bt2 || exit
|
||||||
|
|
||||||
@@ -413,9 +453,9 @@ mkdir $bt $bt2 || exit
|
|||||||
gnulib_tool_options="\
|
gnulib_tool_options="\
|
||||||
--import\
|
--import\
|
||||||
--no-changelog\
|
--no-changelog\
|
||||||
--aux-dir $bt/build-aux\
|
--aux-dir $bt/$build_aux\
|
||||||
--doc-base $bt/doc\
|
--doc-base $bt/doc\
|
||||||
--lib lib$package\
|
--lib $gnulib_name\
|
||||||
--m4-base $bt/m4/\
|
--m4-base $bt/m4/\
|
||||||
--source-base $bt/lib/\
|
--source-base $bt/lib/\
|
||||||
--tests-base $bt/tests\
|
--tests-base $bt/tests\
|
||||||
@@ -431,23 +471,34 @@ done
|
|||||||
|
|
||||||
|
|
||||||
# Import from gettext.
|
# Import from gettext.
|
||||||
|
with_gettext=yes
|
||||||
|
grep '^[ ]*AM_GNU_GETTEXT_VERSION(' configure.ac >/dev/null || \
|
||||||
|
with_gettext=no
|
||||||
|
|
||||||
echo "$0: (cd $bt2; autopoint) ..."
|
if test $with_gettext = yes; then
|
||||||
cp configure.ac $bt2 &&
|
echo "$0: (cd $bt2; autopoint) ..."
|
||||||
(cd $bt2 && autopoint && rm configure.ac) &&
|
cp configure.ac $bt2 &&
|
||||||
slurp $bt2 $bt || exit
|
(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.
|
# Reconfigure, getting other files.
|
||||||
|
|
||||||
for command in \
|
for command in \
|
||||||
|
libtool \
|
||||||
'aclocal --force -I m4' \
|
'aclocal --force -I m4' \
|
||||||
'autoconf --force' \
|
'autoconf --force' \
|
||||||
'autoheader --force' \
|
'autoheader --force' \
|
||||||
'automake --add-missing --copy --force-missing';
|
'automake --add-missing --copy --force-missing';
|
||||||
do
|
do
|
||||||
|
if test "$command" = libtool; then
|
||||||
|
grep '^[ ]*AM_PROG_LIBTOOL\>' configure.ac >/dev/null ||
|
||||||
|
continue
|
||||||
|
command='libtoolize -c -f'
|
||||||
|
fi
|
||||||
echo "$0: $command ..."
|
echo "$0: $command ..."
|
||||||
$command || exit
|
$command || exit
|
||||||
done
|
done
|
||||||
@@ -463,36 +514,37 @@ for file in $gnulib_extra_files; do
|
|||||||
symlink_to_gnulib $file $dst || exit
|
symlink_to_gnulib $file $dst || exit
|
||||||
done
|
done
|
||||||
|
|
||||||
|
if test $with_gettext = yes; then
|
||||||
# Create gettext configuration.
|
# Create gettext configuration.
|
||||||
echo "$0: Creating po/Makevars from po/Makevars.template ..."
|
echo "$0: Creating po/Makevars from po/Makevars.template ..."
|
||||||
rm -f po/Makevars
|
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
|
|
||||||
sed '
|
sed '
|
||||||
/^DOMAIN *=.*/s/=.*/= '"$package"'-runtime/
|
/^EXTRA_LOCALE_CATEGORIES *=/s/=.*/= '"$EXTRA_LOCALE_CATEGORIES"'/
|
||||||
/^subdir *=.*/s/=.*/= runtime-po/
|
|
||||||
/^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-'"$package"'@gnu.org/
|
/^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-'"$package"'@gnu.org/
|
||||||
/^XGETTEXT_OPTIONS *=/{
|
/^XGETTEXT_OPTIONS *=/{
|
||||||
s/$/ \\/
|
s/$/ \\/
|
||||||
a\
|
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.
|
if test -d runtime-po; then
|
||||||
(cd po && cp -p Makefile.in.in *-quot *.header *.sed *.sin ../runtime-po)
|
# 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
|
fi
|
||||||
|
|
||||||
echo "$0: done. Now you can run './configure'."
|
echo "$0: done. Now you can run './configure'."
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Bootstrap configuration.
|
# 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
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -19,11 +19,12 @@
|
|||||||
|
|
||||||
|
|
||||||
# We don't need these modules, even though gnulib-tool mistakenly
|
# 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='
|
avoided_gnulib_modules='
|
||||||
--avoid=lock
|
--avoid=lock
|
||||||
--avoid=size_max
|
--avoid=size_max
|
||||||
--avoid=xsize
|
--avoid=xsize
|
||||||
|
--avoid=canonicalize-lgpl
|
||||||
'
|
'
|
||||||
|
|
||||||
# These modules are obsolete and can probably be removed soon,
|
# These modules are obsolete and can probably be removed soon,
|
||||||
@@ -37,12 +38,14 @@ obsolete_gnulib_modules='
|
|||||||
gnulib_modules="
|
gnulib_modules="
|
||||||
$avoided_gnulib_modules
|
$avoided_gnulib_modules
|
||||||
$obsolete_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
|
c-strtold calloc canon-host canonicalize chown cloexec
|
||||||
config-h configmake
|
config-h configmake
|
||||||
closeout cycle-check d-ino d-type diacrit dirfd dirname dup2
|
closeout cycle-check d-ino d-type diacrit dirfd dirname dup2
|
||||||
error euidaccess exclude exitfail fcntl fcntl-safer fdl file-type
|
error euidaccess exclude exitfail fchdir fcntl fcntl-safer fdl
|
||||||
fileblocks filemode filenamecat fnmatch-gnu fopen-safer
|
file-type fileblocks filemode filenamecat fnmatch-gnu
|
||||||
|
fopen-safer
|
||||||
fprintftime fsusage ftruncate fts getdate getgroups gethrxtime
|
fprintftime fsusage ftruncate fts getdate getgroups gethrxtime
|
||||||
getline getloadavg getndelim2 getopt getpagesize getpass-gnu
|
getline getloadavg getndelim2 getopt getpagesize getpass-gnu
|
||||||
gettext gettime gettimeofday getugroups getusershell gnupload
|
gettext gettime gettimeofday getugroups getusershell gnupload
|
||||||
@@ -51,20 +54,20 @@ gnulib_modules="
|
|||||||
lchmod lchown lib-ignore linebuffer link-follow
|
lchmod lchown lib-ignore linebuffer link-follow
|
||||||
long-options lstat malloc mbswidth md5 memcasecmp mempcpy
|
long-options lstat malloc mbswidth md5 memcasecmp mempcpy
|
||||||
memrchr mkancesdirs mkdir mkdir-p mkstemp mktime modechange
|
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
|
quote quotearg raise readlink readtokens readtokens0 readutmp
|
||||||
realloc regex rename-dest-slash rmdir rmdir-errno
|
realloc regex rename-dest-slash rmdir rmdir-errno
|
||||||
root-dev-ino
|
root-dev-ino
|
||||||
rpmatch
|
rpmatch
|
||||||
safe-read same
|
safe-read same
|
||||||
save-cwd savedir savewd settime sha1 sig2str ssize_t stat-macros
|
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
|
strpbrk strtoimax strtoumax strverscmp sys_stat timespec tzset
|
||||||
unicodeio unistd-safer unlink-busy unlinkdir unlocked-io
|
unicodeio unistd-safer unlink-busy unlinkdir unlocked-io
|
||||||
uptime userspec utimecmp utimens vasprintf verify version-etc-fsf
|
uptime userspec utimecmp utimens vasprintf verify version-etc-fsf
|
||||||
wcwidth winsz-ioctl winsz-termios xalloc xgetcwd xgethostname
|
wcwidth winsz-ioctl winsz-termios xalloc xgetcwd xgethostname
|
||||||
xmemcoll xnanosleep xreadlink xstrtod xstrtoimax xstrtol
|
xmemcoll xnanosleep xreadlink xreadlink-with-size xstrtod xstrtoimax
|
||||||
xstrtold xstrtoumax yesno
|
xstrtol xstrtold xstrtoumax yesno
|
||||||
"
|
"
|
||||||
|
|
||||||
# Other locale categories that need message catalogs.
|
# Other locale categories that need message catalogs.
|
||||||
@@ -78,17 +81,32 @@ XGETTEXT_OPTIONS=$XGETTEXT_OPTIONS'\\\
|
|||||||
--flag=wrapf:1:c-format\\\
|
--flag=wrapf:1:c-format\\\
|
||||||
'
|
'
|
||||||
|
|
||||||
# Gettext supplies these files, but we don't need them since
|
# If "AM_GNU_GETTEXT(external" or "AM_GNU_GETTEXT([external]"
|
||||||
# we don't have an intl subdirectory.
|
# appears in configure.ac, exclude some unnecessary files.
|
||||||
excluded_files='
|
# Without grep's -E option (not portable enough, pre-configure),
|
||||||
m4/glibc2.m4
|
# the following test is ugly. Also, this depends on the existence
|
||||||
m4/intdiv0.m4
|
# of configure.ac, not the obsolescent-named configure.in. But if
|
||||||
m4/lcmessage.m4
|
# you're using this infrastructure, you should care about such things.
|
||||||
m4/lock.m4
|
|
||||||
m4/printf-posix.m4
|
gettext_external=0
|
||||||
m4/size_max.m4
|
grep '^[ ]*AM_GNU_GETTEXT(external\>' configure.ac > /dev/null &&
|
||||||
m4/uintmax_t.m4
|
gettext_external=1
|
||||||
m4/ulonglong.m4
|
grep '^[ ]*AM_GNU_GETTEXT(\[external\]' configure.ac > /dev/null &&
|
||||||
m4/visibility.m4
|
gettext_external=1
|
||||||
m4/xsize.m4
|
|
||||||
'
|
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
|
||||||
|
|||||||
Vendored
+13843
-12131
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
|||||||
# -*- autoconf -*-
|
# -*- autoconf -*-
|
||||||
# Process this file with autoconf to produce a configure script.
|
# 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
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -19,15 +19,15 @@
|
|||||||
|
|
||||||
dnl Written by Jim Meyering.
|
dnl Written by Jim Meyering.
|
||||||
|
|
||||||
AC_PREREQ(2.60)
|
AC_PREREQ(2.61)
|
||||||
AC_INIT([GNU coreutils],[6.7],[[email protected]])
|
AC_INIT([GNU coreutils],[6.9],[[email protected]])
|
||||||
AC_CONFIG_SRCDIR(src/ls.c)
|
AC_CONFIG_SRCDIR(src/ls.c)
|
||||||
|
|
||||||
AC_CONFIG_AUX_DIR(build-aux)
|
AC_CONFIG_AUX_DIR(build-aux)
|
||||||
AC_CONFIG_HEADERS([lib/config.h:lib/config.hin])
|
AC_CONFIG_HEADERS([lib/config.h:lib/config.hin])
|
||||||
|
|
||||||
AB_INIT()
|
AB_INIT()
|
||||||
AM_INIT_AUTOMAKE([1.9.6 gnits dist-bzip2])
|
AM_INIT_AUTOMAKE([1.10 dist-bzip2])
|
||||||
|
|
||||||
AC_PROG_CC_STDC
|
AC_PROG_CC_STDC
|
||||||
AM_PROG_CC_C_O
|
AM_PROG_CC_C_O
|
||||||
@@ -39,6 +39,8 @@ gl_EARLY
|
|||||||
gl_INIT
|
gl_INIT
|
||||||
coreutils_MACROS
|
coreutils_MACROS
|
||||||
|
|
||||||
|
AC_FUNC_FORK
|
||||||
|
|
||||||
AC_CHECK_FUNCS(uname,
|
AC_CHECK_FUNCS(uname,
|
||||||
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS uname\$(EXEEXT)"
|
OPTIONAL_BIN_PROGS="$OPTIONAL_BIN_PROGS uname\$(EXEEXT)"
|
||||||
MAN="$MAN uname.1")
|
MAN="$MAN uname.1")
|
||||||
|
|||||||
@@ -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]>
|
2006-11-28 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
* perm.texi (Mode Structure): Fix typo: s/setgid/setuid/.
|
* perm.texi (Mode Structure): Fix typo: s/setgid/setuid/.
|
||||||
|
|||||||
@@ -78,15 +78,15 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/absolute-header.m4 \
|
|||||||
$(top_srcdir)/m4/euidaccess-stat.m4 \
|
$(top_srcdir)/m4/euidaccess-stat.m4 \
|
||||||
$(top_srcdir)/m4/euidaccess.m4 $(top_srcdir)/m4/exclude.m4 \
|
$(top_srcdir)/m4/euidaccess.m4 $(top_srcdir)/m4/exclude.m4 \
|
||||||
$(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.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/fchdir.m4 $(top_srcdir)/m4/fcntl-safer.m4 \
|
||||||
$(top_srcdir)/m4/fd-reopen.m4 $(top_srcdir)/m4/file-type.m4 \
|
$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fd-reopen.m4 \
|
||||||
$(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filemode.m4 \
|
$(top_srcdir)/m4/file-type.m4 $(top_srcdir)/m4/fileblocks.m4 \
|
||||||
$(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/flexmember.m4 \
|
$(top_srcdir)/m4/filemode.m4 $(top_srcdir)/m4/filenamecat.m4 \
|
||||||
$(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \
|
$(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/fnmatch.m4 \
|
||||||
$(top_srcdir)/m4/fprintftime.m4 $(top_srcdir)/m4/free.m4 \
|
$(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fprintftime.m4 \
|
||||||
$(top_srcdir)/m4/fstypename.m4 $(top_srcdir)/m4/fsusage.m4 \
|
$(top_srcdir)/m4/free.m4 $(top_srcdir)/m4/fstypename.m4 \
|
||||||
$(top_srcdir)/m4/ftruncate.m4 $(top_srcdir)/m4/fts.m4 \
|
$(top_srcdir)/m4/fsusage.m4 $(top_srcdir)/m4/ftruncate.m4 \
|
||||||
$(top_srcdir)/m4/getaddrinfo.m4 \
|
$(top_srcdir)/m4/fts.m4 $(top_srcdir)/m4/getaddrinfo.m4 \
|
||||||
$(top_srcdir)/m4/getcwd-abort-bug.m4 \
|
$(top_srcdir)/m4/getcwd-abort-bug.m4 \
|
||||||
$(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
|
$(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
|
||||||
$(top_srcdir)/m4/getdate.m4 $(top_srcdir)/m4/getdelim.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/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
|
||||||
$(top_srcdir)/m4/getugroups.m4 \
|
$(top_srcdir)/m4/getugroups.m4 \
|
||||||
$(top_srcdir)/m4/getusershell.m4 $(top_srcdir)/m4/glibc21.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/gnulib-comp.m4 \
|
||||||
$(top_srcdir)/m4/group-member.m4 \
|
$(top_srcdir)/m4/group-member.m4 \
|
||||||
$(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/hash.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/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \
|
||||||
$(top_srcdir)/m4/ls-mntd-fs.m4 $(top_srcdir)/m4/lstat.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/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \
|
||||||
$(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbstate_t.m4 \
|
$(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbscasecmp.m4 \
|
||||||
$(top_srcdir)/m4/mbswidth.m4 $(top_srcdir)/m4/md5.m4 \
|
$(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbswidth.m4 \
|
||||||
$(top_srcdir)/m4/memcasecmp.m4 $(top_srcdir)/m4/memchr.m4 \
|
$(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memcasecmp.m4 \
|
||||||
$(top_srcdir)/m4/memcmp.m4 $(top_srcdir)/m4/memcoll.m4 \
|
$(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/memcmp.m4 \
|
||||||
$(top_srcdir)/m4/memcpy.m4 $(top_srcdir)/m4/memmove.m4 \
|
$(top_srcdir)/m4/memcoll.m4 $(top_srcdir)/m4/memcpy.m4 \
|
||||||
$(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \
|
$(top_srcdir)/m4/memmove.m4 $(top_srcdir)/m4/mempcpy.m4 \
|
||||||
$(top_srcdir)/m4/memset.m4 $(top_srcdir)/m4/memxfrm.m4 \
|
$(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/memset.m4 \
|
||||||
$(top_srcdir)/m4/mkancesdirs.m4 $(top_srcdir)/m4/mkdir-p.m4 \
|
$(top_srcdir)/m4/memxfrm.m4 $(top_srcdir)/m4/mkancesdirs.m4 \
|
||||||
$(top_srcdir)/m4/mkdir-slash.m4 $(top_srcdir)/m4/mkstemp.m4 \
|
$(top_srcdir)/m4/mkdir-p.m4 $(top_srcdir)/m4/mkdir-slash.m4 \
|
||||||
$(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/modechange.m4 \
|
$(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \
|
||||||
$(top_srcdir)/m4/mountlist.m4 $(top_srcdir)/m4/nanosleep.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/netinet_in_h.m4 $(top_srcdir)/m4/nls.m4 \
|
||||||
$(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/pathmax.m4 \
|
$(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/pathmax.m4 \
|
||||||
$(top_srcdir)/m4/perl.m4 $(top_srcdir)/m4/physmem.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/stat-prog.m4 $(top_srcdir)/m4/stat-time.m4 \
|
||||||
$(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.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/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \
|
||||||
$(top_srcdir)/m4/stdio-safer.m4 \
|
$(top_srcdir)/m4/stdio-safer.m4 $(top_srcdir)/m4/stdio_h.m4 \
|
||||||
$(top_srcdir)/m4/stdlib-safer.m4 $(top_srcdir)/m4/stpcpy.m4 \
|
$(top_srcdir)/m4/stdlib-safer.m4 $(top_srcdir)/m4/stdlib_h.m4 \
|
||||||
$(top_srcdir)/m4/strcase.m4 $(top_srcdir)/m4/strcspn.m4 \
|
$(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcspn.m4 \
|
||||||
$(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strftime.m4 \
|
$(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strftime.m4 \
|
||||||
$(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
|
$(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
|
||||||
$(top_srcdir)/m4/strnumcmp.m4 $(top_srcdir)/m4/strpbrk.m4 \
|
$(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strnumcmp.m4 \
|
||||||
$(top_srcdir)/m4/strtod.m4 $(top_srcdir)/m4/strtoimax.m4 \
|
$(top_srcdir)/m4/strpbrk.m4 $(top_srcdir)/m4/strtod.m4 \
|
||||||
$(top_srcdir)/m4/strtol.m4 $(top_srcdir)/m4/strtoll.m4 \
|
$(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \
|
||||||
$(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \
|
$(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \
|
||||||
$(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/strverscmp.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_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/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
|
||||||
$(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/tzset.m4 \
|
$(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/tzset.m4 \
|
||||||
$(top_srcdir)/m4/unicodeio.m4 $(top_srcdir)/m4/unistd-safer.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/utimecmp.m4 $(top_srcdir)/m4/utimens.m4 \
|
||||||
$(top_srcdir)/m4/utimes-null.m4 $(top_srcdir)/m4/utimes.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/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/wint_t.m4 $(top_srcdir)/m4/xalloc.m4 \
|
||||||
$(top_srcdir)/m4/xfts.m4 $(top_srcdir)/m4/xgetcwd.m4 \
|
$(top_srcdir)/m4/xfts.m4 $(top_srcdir)/m4/xgetcwd.m4 \
|
||||||
$(top_srcdir)/m4/xnanosleep.m4 $(top_srcdir)/m4/xreadlink.m4 \
|
$(top_srcdir)/m4/xnanosleep.m4 $(top_srcdir)/m4/xstrndup.m4 \
|
||||||
$(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtod.m4 \
|
$(top_srcdir)/m4/xstrtod.m4 $(top_srcdir)/m4/xstrtol.m4 \
|
||||||
$(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/m4/yesno.m4 \
|
$(top_srcdir)/m4/yesno.m4 $(top_srcdir)/configure.ac
|
||||||
$(top_srcdir)/configure.ac
|
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
$(ACLOCAL_M4)
|
$(ACLOCAL_M4)
|
||||||
mkinstalldirs = $(install_sh) -d
|
mkinstalldirs = $(install_sh) -d
|
||||||
@@ -212,10 +216,21 @@ am__vpath_adj = case $$p in \
|
|||||||
esac;
|
esac;
|
||||||
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
|
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
|
||||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
ABSOLUTE_DIRENT_H = @ABSOLUTE_DIRENT_H@
|
||||||
ABSOLUTE_FCNTL_H = @ABSOLUTE_FCNTL_H@
|
ABSOLUTE_FCNTL_H = @ABSOLUTE_FCNTL_H@
|
||||||
ABSOLUTE_INTTYPES_H = @ABSOLUTE_INTTYPES_H@
|
ABSOLUTE_INTTYPES_H = @ABSOLUTE_INTTYPES_H@
|
||||||
|
ABSOLUTE_NETINET_IN_H = @ABSOLUTE_NETINET_IN_H@
|
||||||
ABSOLUTE_STDINT_H = @ABSOLUTE_STDINT_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_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@
|
ACLOCAL = @ACLOCAL@
|
||||||
ALLOCA = @ALLOCA@
|
ALLOCA = @ALLOCA@
|
||||||
ALLOCA_H = @ALLOCA_H@
|
ALLOCA_H = @ALLOCA_H@
|
||||||
@@ -240,6 +255,7 @@ DEFAULT_POSIX2_VERSION = @DEFAULT_POSIX2_VERSION@
|
|||||||
DEFS = @DEFS@
|
DEFS = @DEFS@
|
||||||
DEPDIR = @DEPDIR@
|
DEPDIR = @DEPDIR@
|
||||||
DF_PROG = @DF_PROG@
|
DF_PROG = @DF_PROG@
|
||||||
|
DIRENT_H = @DIRENT_H@
|
||||||
ECHO_C = @ECHO_C@
|
ECHO_C = @ECHO_C@
|
||||||
ECHO_N = @ECHO_N@
|
ECHO_N = @ECHO_N@
|
||||||
ECHO_T = @ECHO_T@
|
ECHO_T = @ECHO_T@
|
||||||
@@ -253,23 +269,103 @@ GETOPT_H = @GETOPT_H@
|
|||||||
GLIBC21 = @GLIBC21@
|
GLIBC21 = @GLIBC21@
|
||||||
GMSGFMT = @GMSGFMT@
|
GMSGFMT = @GMSGFMT@
|
||||||
GMSGFMT_015 = @GMSGFMT_015@
|
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@
|
GNU_PACKAGE = @GNU_PACKAGE@
|
||||||
GREP = @GREP@
|
GREP = @GREP@
|
||||||
|
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
|
||||||
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
|
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
|
||||||
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
|
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_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
|
||||||
|
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
|
||||||
HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
|
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_INTTYPES_H = @HAVE_INTTYPES_H@
|
||||||
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
|
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_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
|
||||||
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
|
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
|
||||||
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
|
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
|
||||||
HAVE_STDINT_H = @HAVE_STDINT_H@
|
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_BITYPES_H = @HAVE_SYS_BITYPES_H@
|
||||||
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_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_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
|
||||||
|
HAVE_UNISTD_H = @HAVE_UNISTD_H@
|
||||||
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
|
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@
|
HAVE__BOOL = @HAVE__BOOL@
|
||||||
HELP2MAN = @HELP2MAN@
|
HELP2MAN = @HELP2MAN@
|
||||||
INSTALL = @INSTALL@
|
INSTALL = @INSTALL@
|
||||||
@@ -289,6 +385,7 @@ LIBINTL = @LIBINTL@
|
|||||||
LIBOBJS = @LIBOBJS@
|
LIBOBJS = @LIBOBJS@
|
||||||
LIBS = @LIBS@
|
LIBS = @LIBS@
|
||||||
LIB_ACL = @LIB_ACL@
|
LIB_ACL = @LIB_ACL@
|
||||||
|
LIB_ACL_TRIVIAL = @LIB_ACL_TRIVIAL@
|
||||||
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
|
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
|
||||||
LIB_CRYPT = @LIB_CRYPT@
|
LIB_CRYPT = @LIB_CRYPT@
|
||||||
LIB_EACCESS = @LIB_EACCESS@
|
LIB_EACCESS = @LIB_EACCESS@
|
||||||
@@ -323,6 +420,23 @@ PRIPTR_PREFIX = @PRIPTR_PREFIX@
|
|||||||
PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
|
PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
|
||||||
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
|
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
|
||||||
RANLIB = @RANLIB@
|
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@
|
SEQ_LIBM = @SEQ_LIBM@
|
||||||
SET_MAKE = @SET_MAKE@
|
SET_MAKE = @SET_MAKE@
|
||||||
SHELL = @SHELL@
|
SHELL = @SHELL@
|
||||||
@@ -333,11 +447,15 @@ STDINT_H = @STDINT_H@
|
|||||||
STRIP = @STRIP@
|
STRIP = @STRIP@
|
||||||
SYS_SOCKET_H = @SYS_SOCKET_H@
|
SYS_SOCKET_H = @SYS_SOCKET_H@
|
||||||
SYS_STAT_H = @SYS_STAT_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@
|
U = @U@
|
||||||
UNISTD_H = @UNISTD_H@
|
|
||||||
USE_NLS = @USE_NLS@
|
USE_NLS = @USE_NLS@
|
||||||
VERSION = @VERSION@
|
VERSION = @VERSION@
|
||||||
|
WCHAR_H = @WCHAR_H@
|
||||||
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
|
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
|
||||||
|
WCTYPE_H = @WCTYPE_H@
|
||||||
WINT_T_SUFFIX = @WINT_T_SUFFIX@
|
WINT_T_SUFFIX = @WINT_T_SUFFIX@
|
||||||
XGETTEXT = @XGETTEXT@
|
XGETTEXT = @XGETTEXT@
|
||||||
XGETTEXT_015 = @XGETTEXT_015@
|
XGETTEXT_015 = @XGETTEXT_015@
|
||||||
@@ -424,9 +542,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
|||||||
exit 1;; \
|
exit 1;; \
|
||||||
esac; \
|
esac; \
|
||||||
done; \
|
done; \
|
||||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits doc/Makefile'; \
|
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
|
||||||
cd $(top_srcdir) && \
|
cd $(top_srcdir) && \
|
||||||
$(AUTOMAKE) --gnits doc/Makefile
|
$(AUTOMAKE) --gnu doc/Makefile
|
||||||
.PRECIOUS: Makefile
|
.PRECIOUS: Makefile
|
||||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
@case '$?' in \
|
@case '$?' in \
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -208,6 +208,7 @@ Common Options
|
|||||||
* Exit status:: Indicating program success or failure.
|
* Exit status:: Indicating program success or failure.
|
||||||
* Backup options:: Backup options
|
* Backup options:: Backup options
|
||||||
* Block size:: Block size
|
* Block size:: Block size
|
||||||
|
* Disambiguating names and IDs:: chgrp and chown owner and group syntax
|
||||||
* Random sources:: Sources of random data
|
* Random sources:: Sources of random data
|
||||||
* Target directory:: Target directory
|
* Target directory:: Target directory
|
||||||
* Trailing slashes:: Trailing slashes
|
* Trailing slashes:: Trailing slashes
|
||||||
@@ -557,8 +558,8 @@ symbolic link to a directory. @xref{Target directory}.
|
|||||||
@itemx --si
|
@itemx --si
|
||||||
@opindex --si
|
@opindex --si
|
||||||
@cindex SI output
|
@cindex SI output
|
||||||
Append an SI-style abbreviation to each size, such as @samp{MB} for
|
Append an SI-style abbreviation to each size, such as @samp{M} for
|
||||||
megabytes. Powers of 1000 are used, not 1024; @samp{MB} stands for
|
megabytes. Powers of 1000 are used, not 1024; @samp{M} stands for
|
||||||
1,000,000 bytes. This option is equivalent to
|
1,000,000 bytes. This option is equivalent to
|
||||||
@option{--block-size=si}. Use the @option{-h} or
|
@option{--block-size=si}. Use the @option{-h} or
|
||||||
@option{--human-readable} option if
|
@option{--human-readable} option if
|
||||||
@@ -644,6 +645,7 @@ name.
|
|||||||
* Exit status:: Indicating program success or failure.
|
* Exit status:: Indicating program success or failure.
|
||||||
* Backup options:: -b -S, in some programs.
|
* Backup options:: -b -S, in some programs.
|
||||||
* Block size:: BLOCK_SIZE and --block-size, 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.
|
* Random sources:: --random-source, in some programs.
|
||||||
* Target directory:: Specifying a target directory, in some programs.
|
* Target directory:: Specifying a target directory, in some programs.
|
||||||
* Trailing slashes:: --strip-trailing-slashes, 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
|
@option{--block-size=human-readable}. The @option{--si} option is
|
||||||
equivalent to @option{--block-size=si}.
|
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
|
@node Random sources
|
||||||
@section Sources of random data
|
@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
|
option makes them safer for most purposes. For convenience you can
|
||||||
specify @option{--preserve-root} in an alias or in a shell function.
|
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
|
@node Special built-in utilities
|
||||||
@section Special built-in utilities
|
@section Special built-in utilities
|
||||||
|
|
||||||
@@ -1845,7 +1891,8 @@ output will be the original data.
|
|||||||
@opindex -i
|
@opindex -i
|
||||||
@opindex --ignore-garbage
|
@opindex --ignore-garbage
|
||||||
@cindex Ignore garbage in base64 stream
|
@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.
|
to permit distorted data to be decoded.
|
||||||
|
|
||||||
@end table
|
@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
|
For each @var{file}, @samp{md5sum} outputs the MD5 checksum, a flag
|
||||||
indicating a binary or text input file, and the file name.
|
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.
|
If @var{file} is omitted or specified as @samp{-}, standard input is read.
|
||||||
|
|
||||||
The program accepts the following options. Also see @ref{Common options}.
|
The program accepts the following options. Also see @ref{Common options}.
|
||||||
@@ -3337,12 +3388,26 @@ mode:
|
|||||||
|
|
||||||
@item -c
|
@item -c
|
||||||
@itemx --check
|
@itemx --check
|
||||||
|
@itemx --check=diagnose-first
|
||||||
@opindex -c
|
@opindex -c
|
||||||
@opindex --check
|
@opindex --check
|
||||||
@cindex checking for sortedness
|
@cindex checking for sortedness
|
||||||
Check whether the given files are already sorted: if they are not all
|
Check whether the given file is already sorted: if it is not all
|
||||||
sorted, print an error message and exit with a status of 1.
|
sorted, print a diagnostic containing the first out-of-order line and
|
||||||
|
exit with a status of 1.
|
||||||
Otherwise, exit successfully.
|
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
|
@item -m
|
||||||
@itemx --merge
|
@itemx --merge
|
||||||
@@ -3396,7 +3461,7 @@ Exit status:
|
|||||||
|
|
||||||
@display
|
@display
|
||||||
0 if no error occurred
|
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
|
2 if an error occurred
|
||||||
@end display
|
@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
|
@option{--temporary-directory} (@option{-T}) option in turn overrides
|
||||||
the environment variable.
|
the environment variable.
|
||||||
|
|
||||||
|
|
||||||
The following options affect the ordering of output lines. They may be
|
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
|
specified globally or as part of a specific key field. If no key
|
||||||
fields are specified, global options apply to comparison of entire
|
fields are specified, global options apply to comparison of entire
|
||||||
@@ -3515,26 +3579,16 @@ can change this.
|
|||||||
@opindex --numeric-sort
|
@opindex --numeric-sort
|
||||||
@cindex numeric sort
|
@cindex numeric sort
|
||||||
@vindex LC_NUMERIC
|
@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
|
of optional blanks, an optional @samp{-} sign, and zero or more
|
||||||
digits possibly separated by thousands separators, optionally followed
|
digits possibly separated by thousands separators, optionally followed
|
||||||
by a decimal-point character and zero or more digits. A string of
|
by a decimal-point character and zero or more digits. An empty
|
||||||
no digits is interpreted as @samp{0}. The @env{LC_NUMERIC}
|
number is treated as @samp{0}. The @env{LC_NUMERIC}
|
||||||
locale specifies the decimal-point character and thousands separator.
|
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
|
By default a blank is a space or a tab, but the @env{LC_CTYPE} locale
|
||||||
can change this.
|
can change this.
|
||||||
|
|
||||||
Numeric sort uses what might be considered an unconventional method to
|
Comparison is exact; there is no rounding error.
|
||||||
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.
|
|
||||||
|
|
||||||
Neither a leading @samp{+} nor exponential notation is recognized.
|
Neither a leading @samp{+} nor exponential notation is recognized.
|
||||||
To compare such strings numerically, use the
|
To compare such strings numerically, use the
|
||||||
@@ -3573,6 +3627,18 @@ Other options are:
|
|||||||
|
|
||||||
@table @samp
|
@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}]
|
@item -k @var{pos1}[,@var{pos2}]
|
||||||
@itemx --key=@var{pos1}[,@var{pos2}]
|
@itemx --key=@var{pos1}[,@var{pos2}]
|
||||||
@opindex -k
|
@opindex -k
|
||||||
@@ -3580,9 +3646,21 @@ Other options are:
|
|||||||
@cindex sort field
|
@cindex sort field
|
||||||
Specify a sort field that consists of the part of the line between
|
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
|
@var{pos1} and @var{pos2} (or the end of the line, if @var{pos2} is
|
||||||
omitted), @emph{inclusive}. Fields and character positions are numbered
|
omitted), @emph{inclusive}.
|
||||||
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.
|
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}
|
@item -o @var{output-file}
|
||||||
@itemx --output=@var{output-file}
|
@itemx --output=@var{output-file}
|
||||||
@@ -3686,7 +3764,7 @@ disks and controllers.
|
|||||||
@cindex uniquifying output
|
@cindex uniquifying output
|
||||||
|
|
||||||
Normally, output only the first of a sequence of lines that compare
|
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.
|
check that no pair of consecutive lines compares equal.
|
||||||
|
|
||||||
This option also disables the default last-resort comparison.
|
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
|
affect the meaning of character positions in field specifications in
|
||||||
obscure cases. The only fix is to add an explicit @option{-b}.
|
obscure cases. The only fix is to add an explicit @option{-b}.
|
||||||
|
|
||||||
A position in a sort field specified with the @option{-k}
|
A position in a sort field specified with @option{-k} may have any
|
||||||
option has the form @samp{@var{f}.@var{c}}, where @var{f} is the number
|
of the option letters @samp{Mbdfinr} appended to it, in which case the
|
||||||
of the field to use and @var{c} is the number of the first character
|
global ordering options are not used for that particular field. The
|
||||||
from the beginning of the field. In a start position, an omitted
|
@option{-b} option may be independently attached to either or both of
|
||||||
@samp{.@var{c}} stands for the field's first character. In an end
|
the start and end positions of a field specification, and if it is
|
||||||
position, an omitted or zero @samp{.@var{c}} stands for the field's
|
inherited from the global options it will be attached to both.
|
||||||
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.
|
|
||||||
If input lines can contain leading or adjacent blanks and @option{-t}
|
If input lines can contain leading or adjacent blanks and @option{-t}
|
||||||
is not used, then @option{-k} is typically combined with @option{-b},
|
is not used, then @option{-k} is typically combined with @option{-b},
|
||||||
@option{-g}, @option{-M}, or @option{-n}; otherwise the varying
|
@option{-g}, @option{-M}, or @option{-n}; otherwise the varying
|
||||||
numbers of leading blanks in fields can cause confusing results.
|
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 _POSIX2_VERSION
|
||||||
@vindex POSIXLY_CORRECT
|
@vindex POSIXLY_CORRECT
|
||||||
@@ -4489,7 +4559,7 @@ Fold lower case letters to upper case for sorting.
|
|||||||
@table @samp
|
@table @samp
|
||||||
|
|
||||||
@item -b @var{file}
|
@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
|
This option provides an alternative (to @option{-W}) method of describing
|
||||||
which characters make up words. It introduces the name of a
|
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
|
@command{ls} uses tabs where possible in the output, for efficiency. If
|
||||||
@var{cols} is zero, do not use tabs at all.
|
@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
|
@item -w
|
||||||
@itemx --width=@var{cols}
|
@itemx --width=@var{cols}
|
||||||
@opindex -w
|
@opindex -w
|
||||||
@@ -6947,7 +7024,13 @@ and ordinary users
|
|||||||
may preserve the group ownership of a file only if they happen to be
|
may preserve the group ownership of a file only if they happen to be
|
||||||
a member of the desired group.
|
a member of the desired group.
|
||||||
@itemx timestamps
|
@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
|
@itemx links
|
||||||
Preserve in the destination files
|
Preserve in the destination files
|
||||||
any links between corresponding source files.
|
any links between corresponding source files.
|
||||||
@@ -7151,25 +7234,33 @@ bytes (or the size specified with @samp{seek=}).
|
|||||||
@opindex ibs
|
@opindex ibs
|
||||||
@cindex block size of input
|
@cindex block size of input
|
||||||
@cindex input block size
|
@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}
|
@item obs=@var{bytes}
|
||||||
@opindex obs
|
@opindex obs
|
||||||
@cindex block size of output
|
@cindex block size of output
|
||||||
@cindex output block size
|
@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}
|
@item bs=@var{bytes}
|
||||||
@opindex bs
|
@opindex bs
|
||||||
@cindex block size
|
@cindex block size
|
||||||
Both read and write @var{bytes} bytes at a time. This overrides
|
Set both input and output block sizes to @var{bytes}.
|
||||||
@samp{ibs} and @samp{obs}.
|
This makes @command{dd} read and write @var{bytes} per block,
|
||||||
|
overriding any @samp{ibs} and @samp{obs} settings.
|
||||||
|
|
||||||
@item cbs=@var{bytes}
|
@item cbs=@var{bytes}
|
||||||
@opindex cbs
|
@opindex cbs
|
||||||
@cindex block size of conversion
|
@cindex block size of conversion
|
||||||
@cindex conversion block size
|
@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}
|
@item skip=@var{blocks}
|
||||||
@opindex skip
|
@opindex skip
|
||||||
@@ -7346,6 +7437,8 @@ Use non-blocking I/O.
|
|||||||
@opindex noatime
|
@opindex noatime
|
||||||
@cindex access time
|
@cindex access time
|
||||||
Do not update the file's 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
|
@item noctty
|
||||||
@opindex noctty
|
@opindex noctty
|
||||||
@@ -8353,15 +8446,23 @@ overridden in this way.
|
|||||||
@opindex -p
|
@opindex -p
|
||||||
@opindex --parents
|
@opindex --parents
|
||||||
@cindex parent directories, creating
|
@cindex parent directories, creating
|
||||||
Make any missing parent directories for each argument. The file permission
|
Make any missing parent directories for each argument, setting their
|
||||||
bits of parent directories are set to the umask modified by @samp{u+wx}.
|
file permission bits to the umask modified by @samp{u+wx}. Ignore
|
||||||
@xref{Directory Setuid and Setgid}, for how the set-user-ID and
|
existing parent directories, and do not change their file permission
|
||||||
set-group-ID bits of parent directories are inherited.
|
bits.
|
||||||
Ignore arguments corresponding to existing directories, and do not
|
|
||||||
change their file mode 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 -v
|
||||||
@item --verbose
|
@itemx --verbose
|
||||||
@opindex -v
|
@opindex -v
|
||||||
@opindex --verbose
|
@opindex --verbose
|
||||||
Print a message for each created directory. This is most useful with
|
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.
|
exit unsuccessfully.
|
||||||
|
|
||||||
@item -v
|
@item -v
|
||||||
@item --verbose
|
@itemx --verbose
|
||||||
@opindex -v
|
@opindex -v
|
||||||
@opindex --verbose
|
@opindex --verbose
|
||||||
@cindex directory deletion, reporting
|
@cindex directory deletion, reporting
|
||||||
@@ -8727,6 +8828,10 @@ owner nor the group is changed.
|
|||||||
|
|
||||||
@end table
|
@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.
|
Some older scripts may still use @samp{.} in place of the @samp{:} separator.
|
||||||
@acronym{POSIX} 1003.1-2001 (@pxref{Standards conformance}) does not
|
@acronym{POSIX} 1003.1-2001 (@pxref{Standards conformance}) does not
|
||||||
require support for that, but for backward compatibility @acronym{GNU}
|
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{}
|
chgrp [@var{option}]@dots{} @{@var{group} | --reference=@var{ref_file}@} @var{file}@dots{}
|
||||||
@end example
|
@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}.
|
The program accepts the following options. Also see @ref{Common options}.
|
||||||
|
|
||||||
@table @samp
|
@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}
|
Time stamps assume the time zone rules specified by the @env{TZ}
|
||||||
environment variable, or by the system default rules if @env{TZ} is
|
environment variable, or by the system default rules if @env{TZ} is
|
||||||
not set. @xref{TZ Variable,, Specifying the Time Zone with @env{TZ},
|
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.
|
daylight saving transitions by using @sc{utc} time stamps.
|
||||||
|
|
||||||
The program accepts the following options. Also see @ref{Common options}.
|
The program accepts the following options. Also see @ref{Common options}.
|
||||||
@@ -9372,6 +9481,13 @@ some network mounts), the columns are misaligned.
|
|||||||
|
|
||||||
@item
|
@item
|
||||||
The labels in the header output line are changed to conform to @acronym{POSIX}.
|
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
|
@end enumerate
|
||||||
|
|
||||||
@optSi
|
@optSi
|
||||||
@@ -9799,7 +9915,7 @@ $ stat --format=%d:%i / /usr
|
|||||||
@opindex --printf=@var{format}
|
@opindex --printf=@var{format}
|
||||||
@cindex output format
|
@cindex output format
|
||||||
Use @var{format} rather than the default 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.
|
and do not output a mandatory trailing newline.
|
||||||
If you want a newline, include @samp{\n} in the @var{format}.
|
If you want a newline, include @samp{\n} in the @var{format}.
|
||||||
Here's how you would use @option{--printf} to print the device
|
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
|
@var{format} must contain exactly one of the @samp{printf}-style
|
||||||
floating point conversion specifications @samp{%a}, @samp{%e},
|
floating point conversion specifications @samp{%a}, @samp{%e},
|
||||||
@samp{%f}, @samp{%g}, @samp{%A}, @samp{%E}, @samp{%F}, @samp{%G}.
|
@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
|
The default format is derived from @var{first}, @var{step}, and
|
||||||
@var{last}. If these all use a fixed point decimal representation,
|
@var{last}. If these all use a fixed point decimal representation,
|
||||||
@@ -13839,6 +13961,15 @@ decimal representation.
|
|||||||
|
|
||||||
@end table
|
@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}
|
If you want hexadecimal integer output, you can use @command{printf}
|
||||||
to perform the conversion:
|
to perform the conversion:
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
@set UPDATED 27 October 2006
|
@set UPDATED 22 March 2007
|
||||||
@set UPDATED-MONTH October 2006
|
@set UPDATED-MONTH March 2007
|
||||||
@set EDITION 6.7
|
@set EDITION 6.9
|
||||||
@set VERSION 6.7
|
@set VERSION 6.9
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
@set UPDATED 27 October 2006
|
@set UPDATED 22 March 2007
|
||||||
@set UPDATED-MONTH October 2006
|
@set UPDATED-MONTH March 2007
|
||||||
@set EDITION 6.7
|
@set EDITION 6.9
|
||||||
@set VERSION 6.7
|
@set VERSION 6.9
|
||||||
|
|||||||
@@ -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]>
|
2006-12-03 Jim Meyering <[email protected]>
|
||||||
|
|
||||||
* Makefile.am (libcoreutils_a_SOURCES): Remove xmemcoll.c and
|
* Makefile.am (libcoreutils_a_SOURCES): Remove xmemcoll.c and
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ StaticLibrary libfetish.a :
|
|||||||
base64.c
|
base64.c
|
||||||
basename.c
|
basename.c
|
||||||
buffer-lcm.c
|
buffer-lcm.c
|
||||||
|
c-strcasecmp.c
|
||||||
c-strtod.c
|
c-strtod.c
|
||||||
c-strtold.c
|
c-strtold.c
|
||||||
calloc.c
|
calloc.c
|
||||||
@@ -45,6 +46,7 @@ StaticLibrary libfetish.a :
|
|||||||
exitfail.c
|
exitfail.c
|
||||||
# fchdir-stub.c
|
# fchdir-stub.c
|
||||||
fchmodat.c
|
fchmodat.c
|
||||||
|
fchownat.c
|
||||||
# fchown-stub.c
|
# fchown-stub.c
|
||||||
fd-reopen.c
|
fd-reopen.c
|
||||||
fd-safer.c
|
fd-safer.c
|
||||||
@@ -92,6 +94,7 @@ StaticLibrary libfetish.a :
|
|||||||
# lstat-stub.c
|
# lstat-stub.c
|
||||||
# lstat.c
|
# lstat.c
|
||||||
# malloc.c
|
# malloc.c
|
||||||
|
mbscasecmp.c
|
||||||
mbswidth.c
|
mbswidth.c
|
||||||
md5.c
|
md5.c
|
||||||
memcasecmp.c
|
memcasecmp.c
|
||||||
@@ -110,6 +113,7 @@ StaticLibrary libfetish.a :
|
|||||||
# mkstemp.c
|
# mkstemp.c
|
||||||
mkstemp-safer.c
|
mkstemp-safer.c
|
||||||
mktime.c
|
mktime.c
|
||||||
|
mpsort.c
|
||||||
modechange.c
|
modechange.c
|
||||||
# mountlist.c
|
# mountlist.c
|
||||||
nanosleep.c
|
nanosleep.c
|
||||||
@@ -153,7 +157,6 @@ StaticLibrary libfetish.a :
|
|||||||
sha512.c
|
sha512.c
|
||||||
sig2str.c
|
sig2str.c
|
||||||
# stpcpy.c
|
# stpcpy.c
|
||||||
strcasecmp.c
|
|
||||||
# strcspn.c
|
# strcspn.c
|
||||||
# strdup.c
|
# strdup.c
|
||||||
strftime.c
|
strftime.c
|
||||||
@@ -194,6 +197,7 @@ StaticLibrary libfetish.a :
|
|||||||
xmemxfrm.c
|
xmemxfrm.c
|
||||||
xnanosleep.c
|
xnanosleep.c
|
||||||
xreadlink.c
|
xreadlink.c
|
||||||
|
xreadlink-with-size.c
|
||||||
xstrndup.c
|
xstrndup.c
|
||||||
xstrtod.c
|
xstrtod.c
|
||||||
xstrtoimax.c
|
xstrtoimax.c
|
||||||
|
|||||||
+488
-162
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
# Copyright (C) 1995-2006 Free Software Foundation, Inc.
|
# 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
|
# This file is free software, distributed under the terms of the GNU
|
||||||
# General Public License. As a special exception to the GNU General
|
# 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.
|
# the same distribution terms as the rest of that program.
|
||||||
#
|
#
|
||||||
# Generated by gnulib-tool.
|
# 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 \
|
DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
|
||||||
$(srcdir)/Makefile.in $(srcdir)/config.hin $(srcdir)/gnulib.mk \
|
$(srcdir)/Makefile.in $(srcdir)/config.hin $(srcdir)/gnulib.mk \
|
||||||
ChangeLog TODO alloca.c euidaccess-stat.c euidaccess-stat.h \
|
ChangeLog TODO alloca.c euidaccess-stat.c euidaccess-stat.h \
|
||||||
fchdir-stub.c fd-reopen.c fd-reopen.h getdate.c memxfrm.c \
|
fd-reopen.c fd-reopen.h getdate.c memxfrm.c memxfrm.h \
|
||||||
memxfrm.h rand-isaac.c rand-isaac.h randint.c randint.h \
|
rand-isaac.c rand-isaac.h randint.c randint.h randperm.c \
|
||||||
randperm.c randperm.h randread.c randread.h sha256.c sha256.h \
|
randperm.h randread.c randread.h sha256.c sha256.h sha512.c \
|
||||||
sha512.c sha512.h strintcmp.c strnumcmp-in.h strnumcmp.c \
|
sha512.h strintcmp.c strnumcmp-in.h strnumcmp.c strnumcmp.h \
|
||||||
strnumcmp.h u64.h xfts.c xfts.h
|
u64.h xfts.c xfts.h
|
||||||
noinst_PROGRAMS = t-fpending$(EXEEXT)
|
noinst_PROGRAMS = t-fpending$(EXEEXT)
|
||||||
subdir = lib
|
subdir = lib
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
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-stat.m4 \
|
||||||
$(top_srcdir)/m4/euidaccess.m4 $(top_srcdir)/m4/exclude.m4 \
|
$(top_srcdir)/m4/euidaccess.m4 $(top_srcdir)/m4/exclude.m4 \
|
||||||
$(top_srcdir)/m4/exitfail.m4 $(top_srcdir)/m4/extensions.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/fchdir.m4 $(top_srcdir)/m4/fcntl-safer.m4 \
|
||||||
$(top_srcdir)/m4/fd-reopen.m4 $(top_srcdir)/m4/file-type.m4 \
|
$(top_srcdir)/m4/fcntl_h.m4 $(top_srcdir)/m4/fd-reopen.m4 \
|
||||||
$(top_srcdir)/m4/fileblocks.m4 $(top_srcdir)/m4/filemode.m4 \
|
$(top_srcdir)/m4/file-type.m4 $(top_srcdir)/m4/fileblocks.m4 \
|
||||||
$(top_srcdir)/m4/filenamecat.m4 $(top_srcdir)/m4/flexmember.m4 \
|
$(top_srcdir)/m4/filemode.m4 $(top_srcdir)/m4/filenamecat.m4 \
|
||||||
$(top_srcdir)/m4/fnmatch.m4 $(top_srcdir)/m4/fpending.m4 \
|
$(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/fnmatch.m4 \
|
||||||
$(top_srcdir)/m4/fprintftime.m4 $(top_srcdir)/m4/free.m4 \
|
$(top_srcdir)/m4/fpending.m4 $(top_srcdir)/m4/fprintftime.m4 \
|
||||||
$(top_srcdir)/m4/fstypename.m4 $(top_srcdir)/m4/fsusage.m4 \
|
$(top_srcdir)/m4/free.m4 $(top_srcdir)/m4/fstypename.m4 \
|
||||||
$(top_srcdir)/m4/ftruncate.m4 $(top_srcdir)/m4/fts.m4 \
|
$(top_srcdir)/m4/fsusage.m4 $(top_srcdir)/m4/ftruncate.m4 \
|
||||||
$(top_srcdir)/m4/getaddrinfo.m4 \
|
$(top_srcdir)/m4/fts.m4 $(top_srcdir)/m4/getaddrinfo.m4 \
|
||||||
$(top_srcdir)/m4/getcwd-abort-bug.m4 \
|
$(top_srcdir)/m4/getcwd-abort-bug.m4 \
|
||||||
$(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
|
$(top_srcdir)/m4/getcwd-path-max.m4 $(top_srcdir)/m4/getcwd.m4 \
|
||||||
$(top_srcdir)/m4/getdate.m4 $(top_srcdir)/m4/getdelim.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/gettime.m4 $(top_srcdir)/m4/gettimeofday.m4 \
|
||||||
$(top_srcdir)/m4/getugroups.m4 \
|
$(top_srcdir)/m4/getugroups.m4 \
|
||||||
$(top_srcdir)/m4/getusershell.m4 $(top_srcdir)/m4/glibc21.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/gnulib-comp.m4 \
|
||||||
$(top_srcdir)/m4/group-member.m4 \
|
$(top_srcdir)/m4/group-member.m4 \
|
||||||
$(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/hash.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/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \
|
||||||
$(top_srcdir)/m4/ls-mntd-fs.m4 $(top_srcdir)/m4/lstat.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/mbchar.m4 $(top_srcdir)/m4/mbiter.m4 \
|
||||||
$(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbstate_t.m4 \
|
$(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbscasecmp.m4 \
|
||||||
$(top_srcdir)/m4/mbswidth.m4 $(top_srcdir)/m4/md5.m4 \
|
$(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbswidth.m4 \
|
||||||
$(top_srcdir)/m4/memcasecmp.m4 $(top_srcdir)/m4/memchr.m4 \
|
$(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memcasecmp.m4 \
|
||||||
$(top_srcdir)/m4/memcmp.m4 $(top_srcdir)/m4/memcoll.m4 \
|
$(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/memcmp.m4 \
|
||||||
$(top_srcdir)/m4/memcpy.m4 $(top_srcdir)/m4/memmove.m4 \
|
$(top_srcdir)/m4/memcoll.m4 $(top_srcdir)/m4/memcpy.m4 \
|
||||||
$(top_srcdir)/m4/mempcpy.m4 $(top_srcdir)/m4/memrchr.m4 \
|
$(top_srcdir)/m4/memmove.m4 $(top_srcdir)/m4/mempcpy.m4 \
|
||||||
$(top_srcdir)/m4/memset.m4 $(top_srcdir)/m4/memxfrm.m4 \
|
$(top_srcdir)/m4/memrchr.m4 $(top_srcdir)/m4/memset.m4 \
|
||||||
$(top_srcdir)/m4/mkancesdirs.m4 $(top_srcdir)/m4/mkdir-p.m4 \
|
$(top_srcdir)/m4/memxfrm.m4 $(top_srcdir)/m4/mkancesdirs.m4 \
|
||||||
$(top_srcdir)/m4/mkdir-slash.m4 $(top_srcdir)/m4/mkstemp.m4 \
|
$(top_srcdir)/m4/mkdir-p.m4 $(top_srcdir)/m4/mkdir-slash.m4 \
|
||||||
$(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/modechange.m4 \
|
$(top_srcdir)/m4/mkstemp.m4 $(top_srcdir)/m4/mktime.m4 \
|
||||||
$(top_srcdir)/m4/mountlist.m4 $(top_srcdir)/m4/nanosleep.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/netinet_in_h.m4 $(top_srcdir)/m4/nls.m4 \
|
||||||
$(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/pathmax.m4 \
|
$(top_srcdir)/m4/openat.m4 $(top_srcdir)/m4/pathmax.m4 \
|
||||||
$(top_srcdir)/m4/perl.m4 $(top_srcdir)/m4/physmem.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/stat-prog.m4 $(top_srcdir)/m4/stat-time.m4 \
|
||||||
$(top_srcdir)/m4/stdarg.m4 $(top_srcdir)/m4/stdbool.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/stdint.m4 $(top_srcdir)/m4/stdint_h.m4 \
|
||||||
$(top_srcdir)/m4/stdio-safer.m4 \
|
$(top_srcdir)/m4/stdio-safer.m4 $(top_srcdir)/m4/stdio_h.m4 \
|
||||||
$(top_srcdir)/m4/stdlib-safer.m4 $(top_srcdir)/m4/stpcpy.m4 \
|
$(top_srcdir)/m4/stdlib-safer.m4 $(top_srcdir)/m4/stdlib_h.m4 \
|
||||||
$(top_srcdir)/m4/strcase.m4 $(top_srcdir)/m4/strcspn.m4 \
|
$(top_srcdir)/m4/stpcpy.m4 $(top_srcdir)/m4/strcspn.m4 \
|
||||||
$(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strftime.m4 \
|
$(top_srcdir)/m4/strdup.m4 $(top_srcdir)/m4/strftime.m4 \
|
||||||
$(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
|
$(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/strndup.m4 \
|
||||||
$(top_srcdir)/m4/strnumcmp.m4 $(top_srcdir)/m4/strpbrk.m4 \
|
$(top_srcdir)/m4/strnlen.m4 $(top_srcdir)/m4/strnumcmp.m4 \
|
||||||
$(top_srcdir)/m4/strtod.m4 $(top_srcdir)/m4/strtoimax.m4 \
|
$(top_srcdir)/m4/strpbrk.m4 $(top_srcdir)/m4/strtod.m4 \
|
||||||
$(top_srcdir)/m4/strtol.m4 $(top_srcdir)/m4/strtoll.m4 \
|
$(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtol.m4 \
|
||||||
$(top_srcdir)/m4/strtoul.m4 $(top_srcdir)/m4/strtoull.m4 \
|
$(top_srcdir)/m4/strtoll.m4 $(top_srcdir)/m4/strtoul.m4 \
|
||||||
$(top_srcdir)/m4/strtoumax.m4 $(top_srcdir)/m4/strverscmp.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_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/time_r.m4 $(top_srcdir)/m4/timespec.m4 \
|
||||||
$(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/tzset.m4 \
|
$(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/tzset.m4 \
|
||||||
$(top_srcdir)/m4/unicodeio.m4 $(top_srcdir)/m4/unistd-safer.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/utimecmp.m4 $(top_srcdir)/m4/utimens.m4 \
|
||||||
$(top_srcdir)/m4/utimes-null.m4 $(top_srcdir)/m4/utimes.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/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/wint_t.m4 $(top_srcdir)/m4/xalloc.m4 \
|
||||||
$(top_srcdir)/m4/xfts.m4 $(top_srcdir)/m4/xgetcwd.m4 \
|
$(top_srcdir)/m4/xfts.m4 $(top_srcdir)/m4/xgetcwd.m4 \
|
||||||
$(top_srcdir)/m4/xnanosleep.m4 $(top_srcdir)/m4/xreadlink.m4 \
|
$(top_srcdir)/m4/xnanosleep.m4 $(top_srcdir)/m4/xstrndup.m4 \
|
||||||
$(top_srcdir)/m4/xstrndup.m4 $(top_srcdir)/m4/xstrtod.m4 \
|
$(top_srcdir)/m4/xstrtod.m4 $(top_srcdir)/m4/xstrtol.m4 \
|
||||||
$(top_srcdir)/m4/xstrtol.m4 $(top_srcdir)/m4/yesno.m4 \
|
$(top_srcdir)/m4/yesno.m4 $(top_srcdir)/configure.ac
|
||||||
$(top_srcdir)/configure.ac
|
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
$(ACLOCAL_M4)
|
$(ACLOCAL_M4)
|
||||||
mkinstalldirs = $(install_sh) -d
|
mkinstalldirs = $(install_sh) -d
|
||||||
@@ -199,15 +203,17 @@ ARFLAGS = cru
|
|||||||
libcoreutils_a_AR = $(AR) $(ARFLAGS)
|
libcoreutils_a_AR = $(AR) $(ARFLAGS)
|
||||||
am__DEPENDENCIES_1 =
|
am__DEPENDENCIES_1 =
|
||||||
am_libcoreutils_a_OBJECTS = allocsa.$(OBJEXT) base64.$(OBJEXT) \
|
am_libcoreutils_a_OBJECTS = allocsa.$(OBJEXT) base64.$(OBJEXT) \
|
||||||
diacrit.$(OBJEXT) full-read.$(OBJEXT) full-write.$(OBJEXT) \
|
c-ctype.$(OBJEXT) c-strcasecmp.$(OBJEXT) \
|
||||||
getdate.$(OBJEXT) hash-pjw.$(OBJEXT) linebuffer.$(OBJEXT) \
|
c-strncasecmp.$(OBJEXT) diacrit.$(OBJEXT) full-read.$(OBJEXT) \
|
||||||
localcharset.$(OBJEXT) mbswidth.$(OBJEXT) \
|
full-write.$(OBJEXT) getdate.$(OBJEXT) hash-pjw.$(OBJEXT) \
|
||||||
readtokens0.$(OBJEXT) savewd.$(OBJEXT) strnlen1.$(OBJEXT) \
|
linebuffer.$(OBJEXT) localcharset.$(OBJEXT) mbchar.$(OBJEXT) \
|
||||||
unicodeio.$(OBJEXT) version-etc.$(OBJEXT) \
|
mbscasecmp.$(OBJEXT) mbswidth.$(OBJEXT) readtokens0.$(OBJEXT) \
|
||||||
version-etc-fsf.$(OBJEXT) xalloc-die.$(OBJEXT) \
|
savewd.$(OBJEXT) strnlen1.$(OBJEXT) unicodeio.$(OBJEXT) \
|
||||||
xgethostname.$(OBJEXT) xmemcoll.$(OBJEXT) xstrndup.$(OBJEXT) \
|
version-etc.$(OBJEXT) version-etc-fsf.$(OBJEXT) \
|
||||||
xstrtoimax.$(OBJEXT) xstrtoumax.$(OBJEXT) buffer-lcm.$(OBJEXT) \
|
xalloc-die.$(OBJEXT) xgethostname.$(OBJEXT) xmemcoll.$(OBJEXT) \
|
||||||
xmemxfrm.$(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)
|
libcoreutils_a_OBJECTS = $(am_libcoreutils_a_OBJECTS)
|
||||||
LTLIBRARIES = $(noinst_LTLIBRARIES)
|
LTLIBRARIES = $(noinst_LTLIBRARIES)
|
||||||
PROGRAMS = $(noinst_PROGRAMS)
|
PROGRAMS = $(noinst_PROGRAMS)
|
||||||
@@ -232,10 +238,21 @@ HEADERS = $(noinst_HEADERS)
|
|||||||
ETAGS = etags
|
ETAGS = etags
|
||||||
CTAGS = ctags
|
CTAGS = ctags
|
||||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
ABSOLUTE_DIRENT_H = @ABSOLUTE_DIRENT_H@
|
||||||
ABSOLUTE_FCNTL_H = @ABSOLUTE_FCNTL_H@
|
ABSOLUTE_FCNTL_H = @ABSOLUTE_FCNTL_H@
|
||||||
ABSOLUTE_INTTYPES_H = @ABSOLUTE_INTTYPES_H@
|
ABSOLUTE_INTTYPES_H = @ABSOLUTE_INTTYPES_H@
|
||||||
|
ABSOLUTE_NETINET_IN_H = @ABSOLUTE_NETINET_IN_H@
|
||||||
ABSOLUTE_STDINT_H = @ABSOLUTE_STDINT_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_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@
|
ACLOCAL = @ACLOCAL@
|
||||||
ALLOCA = @ALLOCA@
|
ALLOCA = @ALLOCA@
|
||||||
ALLOCA_H = @ALLOCA_H@
|
ALLOCA_H = @ALLOCA_H@
|
||||||
@@ -260,6 +277,7 @@ DEFAULT_POSIX2_VERSION = @DEFAULT_POSIX2_VERSION@
|
|||||||
DEFS = @DEFS@
|
DEFS = @DEFS@
|
||||||
DEPDIR = @DEPDIR@
|
DEPDIR = @DEPDIR@
|
||||||
DF_PROG = @DF_PROG@
|
DF_PROG = @DF_PROG@
|
||||||
|
DIRENT_H = @DIRENT_H@
|
||||||
ECHO_C = @ECHO_C@
|
ECHO_C = @ECHO_C@
|
||||||
ECHO_N = @ECHO_N@
|
ECHO_N = @ECHO_N@
|
||||||
ECHO_T = @ECHO_T@
|
ECHO_T = @ECHO_T@
|
||||||
@@ -273,23 +291,103 @@ GETOPT_H = @GETOPT_H@
|
|||||||
GLIBC21 = @GLIBC21@
|
GLIBC21 = @GLIBC21@
|
||||||
GMSGFMT = @GMSGFMT@
|
GMSGFMT = @GMSGFMT@
|
||||||
GMSGFMT_015 = @GMSGFMT_015@
|
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@
|
GNU_PACKAGE = @GNU_PACKAGE@
|
||||||
GREP = @GREP@
|
GREP = @GREP@
|
||||||
|
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
|
||||||
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
|
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
|
||||||
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
|
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_STRTOIMAX = @HAVE_DECL_STRTOIMAX@
|
||||||
|
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
|
||||||
HAVE_DECL_STRTOUMAX = @HAVE_DECL_STRTOUMAX@
|
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_INTTYPES_H = @HAVE_INTTYPES_H@
|
||||||
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
|
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_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
|
||||||
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
|
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
|
||||||
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
|
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
|
||||||
HAVE_STDINT_H = @HAVE_STDINT_H@
|
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_BITYPES_H = @HAVE_SYS_BITYPES_H@
|
||||||
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_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_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
|
||||||
|
HAVE_UNISTD_H = @HAVE_UNISTD_H@
|
||||||
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
|
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@
|
HAVE__BOOL = @HAVE__BOOL@
|
||||||
HELP2MAN = @HELP2MAN@
|
HELP2MAN = @HELP2MAN@
|
||||||
INSTALL = @INSTALL@
|
INSTALL = @INSTALL@
|
||||||
@@ -309,6 +407,7 @@ LIBINTL = @LIBINTL@
|
|||||||
LIBOBJS = @LIBOBJS@
|
LIBOBJS = @LIBOBJS@
|
||||||
LIBS = @LIBS@ $(POW_LIB)
|
LIBS = @LIBS@ $(POW_LIB)
|
||||||
LIB_ACL = @LIB_ACL@
|
LIB_ACL = @LIB_ACL@
|
||||||
|
LIB_ACL_TRIVIAL = @LIB_ACL_TRIVIAL@
|
||||||
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
|
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
|
||||||
LIB_CRYPT = @LIB_CRYPT@
|
LIB_CRYPT = @LIB_CRYPT@
|
||||||
LIB_EACCESS = @LIB_EACCESS@
|
LIB_EACCESS = @LIB_EACCESS@
|
||||||
@@ -343,6 +442,23 @@ PRIPTR_PREFIX = @PRIPTR_PREFIX@
|
|||||||
PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
|
PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
|
||||||
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
|
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
|
||||||
RANLIB = @RANLIB@
|
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@
|
SEQ_LIBM = @SEQ_LIBM@
|
||||||
SET_MAKE = @SET_MAKE@
|
SET_MAKE = @SET_MAKE@
|
||||||
SHELL = @SHELL@
|
SHELL = @SHELL@
|
||||||
@@ -353,11 +469,15 @@ STDINT_H = @STDINT_H@
|
|||||||
STRIP = @STRIP@
|
STRIP = @STRIP@
|
||||||
SYS_SOCKET_H = @SYS_SOCKET_H@
|
SYS_SOCKET_H = @SYS_SOCKET_H@
|
||||||
SYS_STAT_H = @SYS_STAT_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@
|
U = @U@
|
||||||
UNISTD_H = @UNISTD_H@
|
|
||||||
USE_NLS = @USE_NLS@
|
USE_NLS = @USE_NLS@
|
||||||
VERSION = @VERSION@
|
VERSION = @VERSION@
|
||||||
|
WCHAR_H = @WCHAR_H@
|
||||||
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
|
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
|
||||||
|
WCTYPE_H = @WCTYPE_H@
|
||||||
WINT_T_SUFFIX = @WINT_T_SUFFIX@
|
WINT_T_SUFFIX = @WINT_T_SUFFIX@
|
||||||
XGETTEXT = @XGETTEXT@
|
XGETTEXT = @XGETTEXT@
|
||||||
XGETTEXT_015 = @XGETTEXT_015@
|
XGETTEXT_015 = @XGETTEXT_015@
|
||||||
@@ -418,78 +538,83 @@ AUTOMAKE_OPTIONS = 1.5 gnits
|
|||||||
noinst_HEADERS =
|
noinst_HEADERS =
|
||||||
noinst_LIBRARIES = libcoreutils.a
|
noinst_LIBRARIES = libcoreutils.a
|
||||||
noinst_LTLIBRARIES =
|
noinst_LTLIBRARIES =
|
||||||
EXTRA_DIST = acl.c acl.h alloca.c alloca_.h allocsa.valgrind \
|
EXTRA_DIST = acl-internal.h acl.c acl.h acl_entries.c file-has-acl.c \
|
||||||
argmatch.c argmatch.h atexit.c backupfile.c backupfile.h \
|
alloca.c alloca_.h allocsa.valgrind argmatch.c argmatch.h \
|
||||||
c-strtod.c c-strtod.h c-strtod.c c-strtod.h c-strtold.c \
|
atexit.c backupfile.c backupfile.h c-strtod.c c-strtod.h \
|
||||||
calloc.c canon-host.c canon-host.h canonicalize.c \
|
c-strtod.c c-strtod.h c-strtold.c calloc.c canon-host.c \
|
||||||
canonicalize.h pathmax.h chdir-long.c chdir-long.h chown.c \
|
canon-host.h canonicalize.c canonicalize.h pathmax.h \
|
||||||
fchown-stub.c cloexec.c cloexec.h close-stream.c \
|
chdir-long.c chdir-long.h chown.c fchown-stub.c cloexec.c \
|
||||||
close-stream.h closeout.c closeout.h cycle-check.c \
|
cloexec.h close-stream.c close-stream.h closeout.c closeout.h \
|
||||||
cycle-check.h dev-ino.h dirfd.c dirfd.h basename.c dirname.c \
|
cycle-check.c cycle-check.h dev-ino.h dirfd.c dirfd.h \
|
||||||
dirname.h stripslash.c dup2.c error.c error.h euidaccess.c \
|
basename.c dirname.c dirname.h stripslash.c dup2.c error.c \
|
||||||
euidaccess.h exclude.c exclude.h exitfail.c exitfail.h \
|
error.h euidaccess.c euidaccess.h exclude.c exclude.h \
|
||||||
fcntl_.h creat-safer.c fcntl--.h fcntl-safer.h open-safer.c \
|
exitfail.c exitfail.h dirent_.h fchdir.c fcntl_.h \
|
||||||
file-type.c file-type.h fileblocks.c filemode.c filemode.h \
|
creat-safer.c fcntl--.h fcntl-safer.h open-safer.c file-type.c \
|
||||||
filenamecat.c filenamecat.h fnmatch.c fnmatch_.h \
|
file-type.h fileblocks.c filemode.c filemode.h filenamecat.c \
|
||||||
fnmatch_loop.c fopen-safer.c stdio--.h stdio-safer.h \
|
filenamecat.h fnmatch.c fnmatch_.h fnmatch_loop.c \
|
||||||
__fpending.c __fpending.h fprintftime.c fprintftime.h free.c \
|
fopen-safer.c stdio--.h stdio-safer.h __fpending.c \
|
||||||
fsusage.c fsusage.h ftruncate.c fts-cycle.c fts.c fts_.h \
|
__fpending.h fprintftime.c fprintftime.h free.c fsusage.c \
|
||||||
gai_strerror.c getaddrinfo.c getaddrinfo.h getcwd.c getcwd.h \
|
fsusage.h ftruncate.c fts-cycle.c fts.c fts_.h gai_strerror.c \
|
||||||
getdate.c getdate.h getdelim.c getdelim.h getgroups.c \
|
getaddrinfo.c getaddrinfo.h getcwd.c getdate.c getdate.h \
|
||||||
gethostname.c gethrxtime.c gethrxtime.h xtime.h getline.c \
|
getdelim.c getdelim.h getgroups.c gethostname.c gethrxtime.c \
|
||||||
getline.h getloadavg.c getndelim2.c getndelim2.h getopt.c \
|
gethrxtime.h xtime.h getline.c getline.h getloadavg.c \
|
||||||
getopt1.c getopt_.h getopt_int.h getpagesize.h getpass.c \
|
getndelim2.c getndelim2.h getopt.c getopt1.c getopt_.h \
|
||||||
getpass.h gettime.c gettimeofday.c getugroups.c getusershell.c \
|
getopt_int.h getpagesize.h getpass.c getpass.h gettime.c \
|
||||||
group-member.c group-member.h hard-locale.c hard-locale.h \
|
gettimeofday.c getugroups.c getusershell.c group-member.c \
|
||||||
hash.c hash.h human.c human.h i-ring.c i-ring.h idcache.c \
|
group-member.h hard-locale.c hard-locale.h hash.c hash.h \
|
||||||
inet_ntop.c inet_ntop.h intprops.h imaxtostr.c inttostr.c \
|
human.c human.h i-ring.c i-ring.h idcache.c inet_ntop.c \
|
||||||
inttostr.h offtostr.c uinttostr.c umaxtostr.c inttypes_.h \
|
inet_ntop.h intprops.h imaxtostr.c inttostr.c inttostr.h \
|
||||||
isapipe.c isapipe.h lchmod.h lchown.c lchown.h config.charset \
|
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 \
|
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 \
|
memcasecmp.h memchr.c memcmp.c memcoll.c memcoll.h memcpy.c \
|
||||||
memmove.c mempcpy.c mempcpy.h memrchr.c memrchr.h memset.c \
|
memmove.c mempcpy.c memrchr.c memset.c mkancesdirs.c \
|
||||||
mkancesdirs.c mkancesdirs.h mkdir.c dirchownmod.c \
|
mkancesdirs.h mkdir.c dirchownmod.c dirchownmod.h mkdir-p.c \
|
||||||
dirchownmod.h mkdir-p.c mkdir-p.h mkstemp.c mkstemp.h mktime.c \
|
mkdir-p.h mkstemp.c mktime.c modechange.c modechange.h \
|
||||||
modechange.c modechange.h mountlist.c mountlist.h nanosleep.c \
|
mountlist.c mountlist.h mpsort.c mpsort.h nanosleep.c \
|
||||||
obstack.c obstack.h at-func.c fchmodat.c fstatat.c mkdirat.c \
|
netinet_in_.h obstack.c obstack.h at-func.c fchmodat.c \
|
||||||
openat-die.c openat-priv.h openat-proc.c openat.c openat.h \
|
fchownat.c fstatat.c mkdirat.c openat-die.c openat-priv.h \
|
||||||
pathmax.h physmem.c physmem.h posixtm.c posixtm.h posixver.c \
|
openat-proc.c openat.c openat.h pathmax.h physmem.c physmem.h \
|
||||||
posixver.h putenv.c quote.c quote.h quotearg.c quotearg.h \
|
posixtm.c posixtm.h posixver.c posixver.h putenv.c quote.c \
|
||||||
raise.c readlink.c readtokens.c readtokens.h readutmp.c \
|
quote.h quotearg.c quotearg.h raise.c readlink.c readtokens.c \
|
||||||
readutmp.h realloc.c regcomp.c regex.c regex.h \
|
readtokens.h readutmp.c readutmp.h realloc.c regcomp.c regex.c \
|
||||||
regex_internal.c regex_internal.h regexec.c rename.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 \
|
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 \
|
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 \
|
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 \
|
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 \
|
sig2str.c sig2str.h snprintf.c stat-macros.h stat-time.h \
|
||||||
stat-time.h stdbool_.h stdint_.h mkstemp-safer.c stdlib--.h \
|
stdbool_.h stdint_.h stdio_.h stdlib_.h mkstemp-safer.c \
|
||||||
stdlib-safer.h stpcpy.c stpcpy.h strcase.h strcasecmp.c \
|
stdlib--.h stdlib-safer.h stpcpy.c strcspn.c strdup.c \
|
||||||
strncasecmp.c strcspn.c strdup.c strdup.h strftime.c \
|
strftime.c strftime.h string_.h strndup.c strnlen.c strpbrk.c \
|
||||||
strftime.h strndup.c strndup.h strnlen.c strnlen.h strpbrk.c \
|
strtod.c strtoimax.c strtol.c strtoll.c strtoul.c strtoull.c \
|
||||||
strpbrk.h strtod.c strtoimax.c strtol.c strtoll.c strtoul.c \
|
strtoumax.c strverscmp.c strverscmp.h socket_.h stat_.h \
|
||||||
strtoull.c strtoumax.c strverscmp.c strverscmp.h socket_.h \
|
sys_time_.h tempname.c tempname.h time_.h time_r.c timespec.h \
|
||||||
stat_.h tempname.c tempname.h time_r.c time_r.h timespec.h \
|
unistd_.h dup-safer.c fd-safer.c pipe-safer.c unistd--.h \
|
||||||
dup-safer.c fd-safer.c pipe-safer.c unistd--.h unistd-safer.h \
|
unistd-safer.h unlinkdir.c unlinkdir.h unlocked-io.h \
|
||||||
unlinkdir.c unlinkdir.h unlocked-io.h inttostr.h userspec.c \
|
inttostr.h userspec.c userspec.h utime.c utimecmp.c utimecmp.h \
|
||||||
userspec.h utime.c utimecmp.c utimecmp.h utimens.c utimens.h \
|
utimens.c utimens.h asnprintf.c printf-args.c printf-args.h \
|
||||||
asnprintf.c printf-args.c printf-args.h printf-parse.c \
|
printf-parse.c printf-parse.h vasnprintf.c vasnprintf.h \
|
||||||
printf-parse.h vasnprintf.c vasnprintf.h asprintf.c \
|
asprintf.c vasprintf.c vasprintf.h wchar_.h wctype_.h xalloc.h \
|
||||||
vasprintf.c vasprintf.h xalloc.h xmalloc.c xgetcwd.c xgetcwd.h \
|
xmalloc.c xgetcwd.c xgetcwd.h xnanosleep.c xnanosleep.h \
|
||||||
xnanosleep.c xnanosleep.h xreadlink.c xreadlink.h xstrtod.c \
|
xreadlink.h xreadlink.h xstrtod.c xstrtod.h xstrtol.c \
|
||||||
xstrtod.h xstrtol.c xstrtol.h xstrtoul.c xstrtod.c xstrtod.h \
|
xstrtol.h xstrtoul.c xstrtod.c xstrtod.h xstrtold.c yesno.c \
|
||||||
xstrtold.c yesno.c yesno.h
|
yesno.h
|
||||||
BUILT_SOURCES = $(ALLOCA_H) $(ARPA_INET_H) configmake.h $(FCNTL_H) \
|
BUILT_SOURCES = $(ALLOCA_H) $(ARPA_INET_H) configmake.h $(DIRENT_H) \
|
||||||
$(FNMATCH_H) getdate.c $(GETOPT_H) $(INTTYPES_H) \
|
$(FCNTL_H) $(FNMATCH_H) getdate.c $(GETOPT_H) $(INTTYPES_H) \
|
||||||
$(NETINET_IN_H) $(STDBOOL_H) $(STDINT_H) $(SYS_SOCKET_H) \
|
$(NETINET_IN_H) $(STDBOOL_H) $(STDINT_H) stdio.h stdlib.h \
|
||||||
$(SYS_STAT_H) $(UNISTD_H)
|
string.h $(SYS_SOCKET_H) $(SYS_STAT_H) $(SYS_TIME_H) time.h \
|
||||||
|
unistd.h $(WCHAR_H) $(WCTYPE_H)
|
||||||
SUFFIXES = .sed .sin
|
SUFFIXES = .sed .sin
|
||||||
MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t arpa/inet.h \
|
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 \
|
arpa/inet.h-t dirent.h dirent.h-t fcntl.h fcntl.h-t fnmatch.h \
|
||||||
getopt.h-t inttypes.h inttypes.h-t netinet/in.h netinet/in.h-t \
|
fnmatch.h-t getopt.h getopt.h-t inttypes.h inttypes.h-t \
|
||||||
stdbool.h stdbool.h-t stdint.h stdint.h-t sys/socket.h \
|
netinet/in.h netinet/in.h-t stdbool.h stdbool.h-t stdint.h \
|
||||||
sys/socket.h-t sys/stat.h sys/stat.h-t unistd.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
|
MOSTLYCLEANDIRS = arpa netinet sys sys
|
||||||
CLEANFILES = configmake.h configmake.h-t charset.alias ref-add.sed \
|
CLEANFILES = configmake.h configmake.h-t charset.alias ref-add.sed \
|
||||||
ref-del.sed
|
ref-del.sed
|
||||||
@@ -507,25 +632,28 @@ AM_CPPFLAGS =
|
|||||||
# "gettextize --intl".
|
# "gettextize --intl".
|
||||||
#AM_CPPFLAGS += -I$(top_builddir)/intl
|
#AM_CPPFLAGS += -I$(top_builddir)/intl
|
||||||
libcoreutils_a_SOURCES = allocsa.h allocsa.c base64.h base64.c \
|
libcoreutils_a_SOURCES = allocsa.h allocsa.c base64.h base64.c \
|
||||||
diacrit.h diacrit.c exit.h full-read.h full-read.c \
|
c-ctype.h c-ctype.c c-strcase.h c-strcasecmp.c c-strncasecmp.c \
|
||||||
full-write.h full-write.c getdate.y gettext.h hash-pjw.h \
|
diacrit.h diacrit.c full-read.h full-read.c full-write.h \
|
||||||
hash-pjw.c linebuffer.h linebuffer.c localcharset.h \
|
full-write.c getdate.y gettext.h hash-pjw.h hash-pjw.c \
|
||||||
localcharset.c mbswidth.h mbswidth.c mbuiter.h readtokens0.h \
|
linebuffer.h linebuffer.c localcharset.h localcharset.c \
|
||||||
readtokens0.c savewd.h savewd.c strnlen1.h strnlen1.c \
|
mbchar.c mbscasecmp.c mbswidth.h mbswidth.c mbuiter.h \
|
||||||
unicodeio.h unicodeio.c verify.h version-etc.h version-etc.c \
|
readtokens0.h readtokens0.c savewd.h savewd.c strnlen1.h \
|
||||||
version-etc-fsf.c wcwidth.h xalloc-die.c xgethostname.h \
|
strnlen1.c unicodeio.h unicodeio.c verify.h version-etc.h \
|
||||||
xgethostname.c xmemcoll.h xmemcoll.c xstrndup.h xstrndup.c \
|
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 \
|
xstrtoimax.c xstrtoumax.c buffer-lcm.c buffer-lcm.h xmemxfrm.c \
|
||||||
xmemxfrm.h
|
xmemxfrm.h
|
||||||
libcoreutils_a_LIBADD = $(gl_LIBOBJS) @ALLOCA@ $(LIBOBJS)
|
libcoreutils_a_LIBADD = $(gl_LIBOBJS) @ALLOCA@ $(LIBOBJS)
|
||||||
libcoreutils_a_DEPENDENCIES = $(gl_LIBOBJS) @ALLOCA@ $(LIBOBJS)
|
libcoreutils_a_DEPENDENCIES = $(gl_LIBOBJS) @ALLOCA@ $(LIBOBJS)
|
||||||
EXTRA_libcoreutils_a_SOURCES = acl.c alloca.c argmatch.c atexit.c \
|
EXTRA_libcoreutils_a_SOURCES = acl.c acl_entries.c file-has-acl.c \
|
||||||
backupfile.c c-strtod.c c-strtod.c c-strtold.c calloc.c \
|
alloca.c argmatch.c atexit.c backupfile.c c-strtod.c \
|
||||||
canon-host.c canonicalize.c chdir-long.c chown.c fchown-stub.c \
|
c-strtod.c c-strtold.c calloc.c canon-host.c canonicalize.c \
|
||||||
cloexec.c close-stream.c closeout.c cycle-check.c dirfd.c \
|
chdir-long.c chown.c fchown-stub.c cloexec.c close-stream.c \
|
||||||
basename.c dirname.c stripslash.c dup2.c error.c euidaccess.c \
|
closeout.c cycle-check.c dirfd.c basename.c dirname.c \
|
||||||
exclude.c exitfail.c creat-safer.c open-safer.c file-type.c \
|
stripslash.c dup2.c error.c euidaccess.c exclude.c exitfail.c \
|
||||||
fileblocks.c filemode.c filenamecat.c fnmatch.c fnmatch_loop.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 \
|
fopen-safer.c __fpending.c fprintftime.c free.c fsusage.c \
|
||||||
ftruncate.c fts-cycle.c fts.c gai_strerror.c getaddrinfo.c \
|
ftruncate.c fts-cycle.c fts.c gai_strerror.c getaddrinfo.c \
|
||||||
getcwd.c getdelim.c getgroups.c gethostname.c gethrxtime.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 \
|
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 \
|
inet_ntop.c imaxtostr.c inttostr.c offtostr.c uinttostr.c \
|
||||||
umaxtostr.c isapipe.c lchown.c long-options.c lstat.c malloc.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 \
|
md5.c memcasecmp.c memchr.c memcmp.c memcoll.c memcpy.c \
|
||||||
memcpy.c memmove.c mempcpy.c memrchr.c memset.c mkancesdirs.c \
|
memmove.c mempcpy.c memrchr.c memset.c mkancesdirs.c mkdir.c \
|
||||||
mkdir.c dirchownmod.c mkdir-p.c mkstemp.c mktime.c \
|
dirchownmod.c mkdir-p.c mkstemp.c mktime.c modechange.c \
|
||||||
modechange.c mountlist.c nanosleep.c obstack.c at-func.c \
|
mountlist.c mpsort.c nanosleep.c obstack.c at-func.c \
|
||||||
fchmodat.c fstatat.c mkdirat.c openat-die.c openat-proc.c \
|
fchmodat.c fchownat.c fstatat.c mkdirat.c openat-die.c \
|
||||||
openat.c physmem.c posixtm.c posixver.c putenv.c quote.c \
|
openat-proc.c openat.c physmem.c posixtm.c posixver.c putenv.c \
|
||||||
quotearg.c raise.c readlink.c readtokens.c readutmp.c \
|
quote.c quotearg.c raise.c readlink.c readtokens.c readutmp.c \
|
||||||
realloc.c regcomp.c regex.c regex_internal.c regexec.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 \
|
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 \
|
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 \
|
unsetenv.c settime.c sha1.c sig2str.c snprintf.c \
|
||||||
mkstemp-safer.c stpcpy.c strcasecmp.c strncasecmp.c strcspn.c \
|
mkstemp-safer.c stpcpy.c strcspn.c strdup.c strftime.c \
|
||||||
strdup.c strftime.c strndup.c strnlen.c strpbrk.c strtod.c \
|
strndup.c strnlen.c strpbrk.c strtod.c strtoimax.c strtol.c \
|
||||||
strtoimax.c strtol.c strtoll.c strtoul.c strtoull.c \
|
strtoll.c strtoul.c strtoull.c strtoumax.c strverscmp.c \
|
||||||
strtoumax.c strverscmp.c tempname.c time_r.c dup-safer.c \
|
tempname.c time_r.c dup-safer.c fd-safer.c pipe-safer.c \
|
||||||
fd-safer.c pipe-safer.c unlinkdir.c userspec.c utime.c \
|
unlinkdir.c userspec.c utime.c utimecmp.c utimens.c \
|
||||||
utimecmp.c utimens.c asnprintf.c printf-args.c printf-parse.c \
|
asnprintf.c printf-args.c printf-parse.c vasnprintf.c \
|
||||||
vasnprintf.c asprintf.c vasprintf.c xmalloc.c xgetcwd.c \
|
asprintf.c vasprintf.c xmalloc.c xgetcwd.c xnanosleep.c \
|
||||||
xnanosleep.c xreadlink.c xstrtod.c xstrtol.c xstrtoul.c \
|
xstrtod.c xstrtol.c xstrtoul.c xstrtod.c xstrtold.c yesno.c
|
||||||
xstrtod.c xstrtold.c yesno.c
|
LINK_WARNING_H = $(top_srcdir)/build-aux/link-warning.h
|
||||||
charset_alias = $(DESTDIR)$(libdir)/charset.alias
|
charset_alias = $(DESTDIR)$(libdir)/charset.alias
|
||||||
charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
|
charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
|
||||||
AM_CFLAGS = $(WARNING_CFLAGS) $(WERROR_CFLAGS)
|
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)/alloca.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/euidaccess-stat.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)/fd-reopen.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/memxfrm.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@
|
@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)/xfts.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/__fpending.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.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)/alloca.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/allocsa.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@
|
@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)/base64.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/basename.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)/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-strtod.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/c-strtold.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@
|
@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)/euidaccess.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exclude.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)/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)/fchmodat.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fchown-stub.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)/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)/file-type.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fileblocks.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@
|
@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)/lstat.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/malloc.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)/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)/mbswidth.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.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@
|
@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)/mktime.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/modechange.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)/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)/nanosleep.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/obstack.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@
|
@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)/sig2str.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snprintf.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)/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)/strcspn.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strdup.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)/strftime.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stripslash.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)/strndup.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strnlen.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@
|
@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)/xmemcoll.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmemxfrm.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)/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)/xreadlink.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xstrndup.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@
|
@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
|
# We need the following in order to create <arpa/inet.h> when the system
|
||||||
# doesn't have one.
|
# doesn't have one.
|
||||||
arpa/inet.h:
|
arpa/inet.h:
|
||||||
test -d arpa || mkdir arpa
|
@MKDIR_P@ arpa
|
||||||
rm -f $@-t $@
|
rm -f $@-t $@
|
||||||
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
||||||
echo '#include <sys/socket.h>'; \
|
echo '#include <sys/socket.h>'; \
|
||||||
@@ -1128,6 +1263,17 @@ configmake.h: Makefile
|
|||||||
} | sed '/""/d' > $@-t
|
} | sed '/""/d' > $@-t
|
||||||
mv $@-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
|
# We need the following in order to create <fcntl.h> when the system
|
||||||
# doesn't have one that works with the given compiler.
|
# doesn't have one that works with the given compiler.
|
||||||
fcntl.h: fcntl_.h
|
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_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
|
||||||
-e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_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/@''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_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \
|
||||||
-e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \
|
-e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \
|
||||||
-e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
|
-e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
|
||||||
-e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
|
-e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
|
||||||
|
-e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
|
||||||
< $(srcdir)/inttypes_.h; \
|
< $(srcdir)/inttypes_.h; \
|
||||||
} > $@-t
|
} > $@-t
|
||||||
mv $@-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
|
# We need the following in order to create <netinet/in.h> when the system
|
||||||
# doesn't have one.
|
# doesn't have one.
|
||||||
netinet/in.h:
|
netinet/in.h:
|
||||||
test -d netinet || mkdir netinet
|
@MKDIR_P@ netinet
|
||||||
rm -f $@-t $@
|
rm -f $@-t $@
|
||||||
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
{ 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
|
} > $@-t
|
||||||
mv $@-t $@
|
mv $@-t $@
|
||||||
|
|
||||||
@@ -1240,8 +1393,7 @@ stdbool.h: stdbool_.h
|
|||||||
stdint.h: stdint_.h
|
stdint.h: stdint_.h
|
||||||
rm -f $@-t $@
|
rm -f $@-t $@
|
||||||
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
||||||
sed -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \
|
sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
|
||||||
-e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
|
|
||||||
-e 's|@''ABSOLUTE_STDINT_H''@|$(ABSOLUTE_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_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
|
||||||
-e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
|
-e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
|
||||||
@@ -1266,19 +1418,122 @@ stdint.h: stdint_.h
|
|||||||
} > $@-t
|
} > $@-t
|
||||||
mv $@-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
|
# We need the following in order to create <sys/socket.h> when the system
|
||||||
# doesn't have one that works with the given compiler.
|
# doesn't have one that works with the given compiler.
|
||||||
sys/socket.h: socket_.h
|
sys/socket.h: socket_.h
|
||||||
test -d sys || mkdir sys
|
@MKDIR_P@ sys
|
||||||
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
{ 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
|
} > $@-t
|
||||||
mv -f $@-t $@
|
mv -f $@-t $@
|
||||||
|
|
||||||
# We need the following in order to create <sys/stat.h> when the system
|
# We need the following in order to create <sys/stat.h> when the system
|
||||||
# has one that is incomplete.
|
# has one that is incomplete.
|
||||||
sys/stat.h: stat_.h
|
sys/stat.h: stat_.h
|
||||||
test -d sys || mkdir sys
|
@MKDIR_P@ sys
|
||||||
rm -f $@-t $@
|
rm -f $@-t $@
|
||||||
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
||||||
sed -e 's|@''ABSOLUTE_SYS_STAT_H''@|$(ABSOLUTE_SYS_STAT_H)|g' \
|
sed -e 's|@''ABSOLUTE_SYS_STAT_H''@|$(ABSOLUTE_SYS_STAT_H)|g' \
|
||||||
@@ -1286,12 +1541,83 @@ sys/stat.h: stat_.h
|
|||||||
} > $@-t
|
} > $@-t
|
||||||
mv $@-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
|
# We need the following in order to create an empty placeholder for
|
||||||
# <unistd.h> when the system doesn't have one.
|
# <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 '/* 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
|
mostlyclean-local: mostlyclean-generic
|
||||||
@for dir in '' $(MOSTLYCLEANDIRS); do \
|
@for dir in '' $(MOSTLYCLEANDIRS); do \
|
||||||
|
|||||||
@@ -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
@@ -1,6 +1,6 @@
|
|||||||
/* acl.c - access control lists
|
/* 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
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -20,97 +20,9 @@
|
|||||||
|
|
||||||
#include <config.h>
|
#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 "acl.h"
|
||||||
#include "error.h"
|
|
||||||
#include "quote.h"
|
|
||||||
|
|
||||||
#include <errno.h>
|
#include "acl-internal.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
|
|
||||||
|
|
||||||
/* If DESC is a valid file descriptor use fchmod to change the
|
/* If DESC is a valid file descriptor use fchmod to change the
|
||||||
file's mode to MODE on systems that have fchown. On systems
|
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 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
|
/* Copy access control lists from one file to another. If SOURCE_DESC is
|
||||||
a valid file descriptor, use file descriptor operations, else use
|
a valid file descriptor, use file descriptor operations, else use
|
||||||
filename based operations on SRC_NAME. Likewise for DEST_DESC and
|
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);
|
acl = acl_get_file (src_name, ACL_TYPE_ACCESS);
|
||||||
if (acl == NULL)
|
if (acl == NULL)
|
||||||
{
|
{
|
||||||
if (errno == ENOSYS || errno == ENOTSUP)
|
if (ACL_NOT_WELL_SUPPORTED (errno))
|
||||||
return set_acl (dst_name, dest_desc, mode);
|
return set_acl (dst_name, dest_desc, mode);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -231,7 +80,7 @@ copy_acl (const char *src_name, int source_desc, const char *dst_name,
|
|||||||
{
|
{
|
||||||
int saved_errno = errno;
|
int saved_errno = errno;
|
||||||
|
|
||||||
if (errno == ENOSYS || errno == ENOTSUP)
|
if (ACL_NOT_WELL_SUPPORTED (errno))
|
||||||
{
|
{
|
||||||
int n = acl_entries (acl);
|
int n = acl_entries (acl);
|
||||||
|
|
||||||
@@ -367,7 +216,7 @@ set_acl (char const *name, int desc, mode_t mode)
|
|||||||
int saved_errno = errno;
|
int saved_errno = errno;
|
||||||
acl_free (acl);
|
acl_free (acl);
|
||||||
|
|
||||||
if (errno == ENOTSUP || errno == ENOSYS)
|
if (ACL_NOT_WELL_SUPPORTED (errno))
|
||||||
{
|
{
|
||||||
if (chmod_or_fchmod (name, desc, mode) != 0)
|
if (chmod_or_fchmod (name, desc, mode) != 0)
|
||||||
saved_errno = errno;
|
saved_errno = errno;
|
||||||
|
|||||||
@@ -18,6 +18,8 @@
|
|||||||
|
|
||||||
Written by Paul Eggert. */
|
Written by Paul Eggert. */
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
#if HAVE_SYS_ACL_H
|
#if HAVE_SYS_ACL_H
|
||||||
# include <sys/acl.h>
|
# include <sys/acl.h>
|
||||||
#endif
|
#endif
|
||||||
@@ -25,6 +27,8 @@
|
|||||||
# define GETACLCNT ACL_CNT
|
# define GETACLCNT ACL_CNT
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <sys/stat.h>
|
||||||
|
|
||||||
int file_has_acl (char const *, struct stat const *);
|
int file_has_acl (char const *, struct stat const *);
|
||||||
int copy_acl (char const *, int, char const *, int, mode_t);
|
int copy_acl (char const *, int, char const *, int, mode_t);
|
||||||
int set_acl (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.
|
/* Return the number of entries in an ACL.
|
||||||
Copyright (C) 2003, 2004 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
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -13,24 +14,26 @@
|
|||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with this program; if not, write to the Free Software Foundation,
|
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 "acl-internal.h"
|
||||||
# include <string.h>
|
|
||||||
|
|
||||||
# else
|
/* Return the number of entries in ACL. */
|
||||||
|
|
||||||
/* Get size_t */
|
int
|
||||||
# include <stddef.h>
|
acl_entries (acl_t acl)
|
||||||
|
{
|
||||||
/* Copy N bytes of SRC to DEST, return pointer to bytes after the
|
char *t;
|
||||||
last written byte. */
|
int entries = 0;
|
||||||
extern void *mempcpy (void *dest, const void *src, size_t n);
|
char *text = acl_to_text (acl, NULL);
|
||||||
|
if (! text)
|
||||||
# endif
|
return -1;
|
||||||
|
for (t = text; *t; t++)
|
||||||
#endif
|
entries += (*t == '\n');
|
||||||
|
acl_free (text);
|
||||||
|
return entries;
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/* Safe automatic memory allocation.
|
/* 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.
|
Written by Bruno Haible <[email protected]>, 2003.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
@@ -106,17 +106,17 @@ enum
|
|||||||
among all elementary types. */
|
among all elementary types. */
|
||||||
sa_alignment_long = sa_alignof (long),
|
sa_alignment_long = sa_alignof (long),
|
||||||
sa_alignment_double = sa_alignof (double),
|
sa_alignment_double = sa_alignof (double),
|
||||||
#ifdef HAVE_LONG_LONG_INT
|
#if HAVE_LONG_LONG_INT
|
||||||
sa_alignment_longlong = sa_alignof (long long),
|
sa_alignment_longlong = sa_alignof (long long),
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_LONG_DOUBLE
|
#if HAVE_LONG_DOUBLE
|
||||||
sa_alignment_longdouble = sa_alignof (long double),
|
sa_alignment_longdouble = sa_alignof (long double),
|
||||||
#endif
|
#endif
|
||||||
sa_alignment_max = ((sa_alignment_long - 1) | (sa_alignment_double - 1)
|
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)
|
| (sa_alignment_longlong - 1)
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_LONG_DOUBLE
|
#if HAVE_LONG_DOUBLE
|
||||||
| (sa_alignment_longdouble - 1)
|
| (sa_alignment_longdouble - 1)
|
||||||
#endif
|
#endif
|
||||||
) + 1,
|
) + 1,
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* argmatch.c -- find a match for a string in an array
|
/* argmatch.c -- find a match for a string in an array
|
||||||
|
|
||||||
Copyright (C) 1990, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006
|
Copyright (C) 1990, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007
|
||||||
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
@@ -34,7 +34,6 @@
|
|||||||
#define _(msgid) gettext (msgid)
|
#define _(msgid) gettext (msgid)
|
||||||
|
|
||||||
#include "error.h"
|
#include "error.h"
|
||||||
#include "exit.h"
|
|
||||||
#include "quotearg.h"
|
#include "quotearg.h"
|
||||||
#include "quote.h"
|
#include "quote.h"
|
||||||
|
|
||||||
|
|||||||
@@ -82,6 +82,11 @@
|
|||||||
of `digit' even when the host does not conform to POSIX. */
|
of `digit' even when the host does not conform to POSIX. */
|
||||||
#define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9)
|
#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
|
/* The extension added to file names to produce a simple (as opposed
|
||||||
to numbered) backup file name. */
|
to numbered) backup file name. */
|
||||||
char const *simple_backup_suffix = "~";
|
char const *simple_backup_suffix = "~";
|
||||||
|
|||||||
+198
-62
@@ -1,5 +1,7 @@
|
|||||||
|
/* -*- buffer-read-only: t -*- vi: set ro: */
|
||||||
|
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
|
||||||
/* base64.c -- Encode binary data using printable characters.
|
/* 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.
|
Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
@@ -52,6 +54,8 @@
|
|||||||
/* Get UCHAR_MAX. */
|
/* Get UCHAR_MAX. */
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
/* C89 compliant way to cast 'char' to 'unsigned char'. */
|
/* C89 compliant way to cast 'char' to 'unsigned char'. */
|
||||||
static inline unsigned char
|
static inline unsigned char
|
||||||
to_uchar (char ch)
|
to_uchar (char ch)
|
||||||
@@ -300,89 +304,220 @@ isbase64 (char ch)
|
|||||||
return uchar_in_range (to_uchar (ch)) && 0 <= b64[to_uchar (ch)];
|
return uchar_in_range (to_uchar (ch)) && 0 <= b64[to_uchar (ch)];
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Decode base64 encoded input array IN of length INLEN to output
|
/* Initialize decode-context buffer, CTX. */
|
||||||
array OUT that can hold *OUTLEN bytes. Return true if decoding was
|
void
|
||||||
successful, i.e. if the input was valid base64 data, false
|
base64_decode_ctx_init (struct base64_decode_context *ctx)
|
||||||
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)
|
|
||||||
{
|
{
|
||||||
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]))
|
char const *t = *in;
|
||||||
break;
|
if (4 <= in_end - *in && memchr (t, '\n', 4) == NULL)
|
||||||
|
|
||||||
if (outleft)
|
|
||||||
{
|
{
|
||||||
*out++ = ((b64[to_uchar (in[0])] << 2)
|
/* This is the common case: no newline. */
|
||||||
| (b64[to_uchar (in[1])] >> 4));
|
*in += 4;
|
||||||
outleft--;
|
*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)
|
if (inlen == 3)
|
||||||
break;
|
return_false;
|
||||||
|
|
||||||
if (in[2] == '=')
|
if (in[3] == '=')
|
||||||
{
|
{
|
||||||
if (inlen != 4)
|
if (inlen != 4)
|
||||||
break;
|
return_false;
|
||||||
|
|
||||||
if (in[3] != '=')
|
|
||||||
break;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!isbase64 (in[2]))
|
if (!isbase64 (in[3]))
|
||||||
break;
|
return_false;
|
||||||
|
|
||||||
if (outleft)
|
if (*outleft)
|
||||||
{
|
{
|
||||||
*out++ = (((b64[to_uchar (in[1])] << 4) & 0xf0)
|
*out++ = (((b64[to_uchar (in[2])] << 6) & 0xc0)
|
||||||
| (b64[to_uchar (in[2])] >> 2));
|
| b64[to_uchar (in[3])]);
|
||||||
outleft--;
|
--*outleft;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (inlen == 3)
|
*outp = out;
|
||||||
break;
|
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)
|
/* Save a copy of outleft, in case we need to re-parse this
|
||||||
break;
|
block of four bytes. */
|
||||||
}
|
outleft_save = outleft;
|
||||||
else
|
if (!decode_4 (in, inlen, &out, &outleft))
|
||||||
{
|
|
||||||
if (!isbase64 (in[3]))
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (outleft)
|
in += 4;
|
||||||
{
|
inlen -= 4;
|
||||||
*out++ = (((b64[to_uchar (in[2])] << 6) & 0xc0)
|
|
||||||
| b64[to_uchar (in[3])]);
|
|
||||||
outleft--;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
in += 4;
|
if (inlen == 0 && !flush_ctx)
|
||||||
inlen -= 4;
|
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;
|
*outlen -= outleft;
|
||||||
|
|
||||||
if (inlen != 0)
|
return inlen == 0;
|
||||||
return false;
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Allocate an output buffer in *OUT, and decode the base64 encoded
|
/* 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
|
input was invalid, in which case *OUT is NULL and *OUTLEN is
|
||||||
undefined. */
|
undefined. */
|
||||||
bool
|
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)
|
size_t *outlen)
|
||||||
{
|
{
|
||||||
/* This may allocate a few bytes too much, depending on input,
|
/* This may allocate a few bytes too many, depending on input,
|
||||||
but it's not worth the extra CPU time to compute the exact amount.
|
but it's not worth the extra CPU time to compute the exact size.
|
||||||
The exact amount is 3 * inlen / 4, minus 1 if the input ends
|
The exact size is 3 * inlen / 4, minus 1 if the input ends
|
||||||
with "=" and minus another 1 if the input ends with "==".
|
with "=" and minus another 1 if the input ends with "==".
|
||||||
Dividing before multiplying avoids the possibility of overflow. */
|
Dividing before multiplying avoids the possibility of overflow. */
|
||||||
size_t needlen = 3 * (inlen / 4) + 2;
|
size_t needlen = 3 * (inlen / 4) + 2;
|
||||||
@@ -411,7 +547,7 @@ base64_decode_alloc (const char *in, size_t inlen, char **out,
|
|||||||
if (!*out)
|
if (!*out)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
if (!base64_decode (in, inlen, *out, &needlen))
|
if (!base64_decode (ctx, in, inlen, *out, &needlen))
|
||||||
{
|
{
|
||||||
free (*out);
|
free (*out);
|
||||||
*out = NULL;
|
*out = NULL;
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
/* -*- buffer-read-only: t -*- vi: set ro: */
|
||||||
|
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
|
||||||
/* base64.h -- Encode binary data using printable characters.
|
/* base64.h -- Encode binary data using printable characters.
|
||||||
Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
|
Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||||
Written by Simon Josefsson.
|
Written by Simon Josefsson.
|
||||||
@@ -29,6 +31,12 @@
|
|||||||
integer >= n/k, i.e., the ceiling of n/k. */
|
integer >= n/k, i.e., the ceiling of n/k. */
|
||||||
# define BASE64_LENGTH(inlen) ((((inlen) + 2) / 3) * 4)
|
# define BASE64_LENGTH(inlen) ((((inlen) + 2) / 3) * 4)
|
||||||
|
|
||||||
|
struct base64_decode_context
|
||||||
|
{
|
||||||
|
unsigned int i;
|
||||||
|
char buf[4];
|
||||||
|
};
|
||||||
|
|
||||||
extern bool isbase64 (char ch);
|
extern bool isbase64 (char ch);
|
||||||
|
|
||||||
extern void base64_encode (const char *restrict in, size_t inlen,
|
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 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);
|
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);
|
char **out, size_t *outlen);
|
||||||
|
|
||||||
#endif /* BASE64_H */
|
#endif /* BASE64_H */
|
||||||
|
|||||||
@@ -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
|
||||||
|
}
|
||||||
@@ -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.
|
/* Case-insensitive string comparison functions in C locale.
|
||||||
Copyright (C) 1995-1996, 2001, 2003, 2005-2006 Free Software Foundation, Inc.
|
Copyright (C) 1995-1996, 2001, 2003, 2005 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -15,37 +15,36 @@
|
|||||||
along with this program; if not, write to the Free Software Foundation,
|
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 _STRCASE_H
|
#ifndef C_STRCASE_H
|
||||||
#define _STRCASE_H
|
#define C_STRCASE_H
|
||||||
|
|
||||||
#include <stddef.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. */
|
/* The functions defined in this file assume the "C" locale and a character
|
||||||
#include <string.h>
|
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
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#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
|
/* 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
|
greater than zero if S1 is lexicographically less than, equal to or greater
|
||||||
than S2.
|
than S2. */
|
||||||
Note: This function may, in multibyte locales, return 0 for strings of
|
extern int c_strcasecmp (const char *s1, const char *s2);
|
||||||
different lengths! */
|
|
||||||
extern int strcasecmp (const char *s1, const char *s2);
|
|
||||||
|
|
||||||
/* Compare no more than N characters of strings S1 and S2, ignoring case,
|
/* 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
|
returning less than, equal to or greater than zero if S1 is
|
||||||
lexicographically less than, equal to or greater than S2.
|
lexicographically less than, equal to or greater than S2. */
|
||||||
Note: This function can not work correctly in multibyte locales. */
|
extern int c_strncasecmp (const char *s1, const char *s2, size_t n);
|
||||||
#if ! HAVE_DECL_STRNCASECMP
|
|
||||||
extern int strncasecmp (const char *s1, const char *s2, size_t n);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
@@ -53,4 +52,4 @@ extern int strncasecmp (const char *s1, const char *s2, size_t n);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#endif /* _STRCASE_H */
|
#endif /* C_STRCASE_H */
|
||||||
@@ -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.
|
Copyright (C) 1998-1999, 2005-2006 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
@@ -18,20 +18,14 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
/* Specification. */
|
/* Specification. */
|
||||||
#include "strcase.h"
|
#include "c-strcase.h"
|
||||||
|
|
||||||
#include <ctype.h>
|
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
|
|
||||||
#define TOLOWER(Ch) (isupper (Ch) ? tolower (Ch) : (Ch))
|
#include "c-ctype.h"
|
||||||
|
|
||||||
/* 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. */
|
|
||||||
|
|
||||||
int
|
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 *p1 = (const unsigned char *) s1;
|
||||||
register const unsigned char *p2 = (const unsigned char *) s2;
|
register const unsigned char *p2 = (const unsigned char *) s2;
|
||||||
@@ -42,8 +36,8 @@ strncasecmp (const char *s1, const char *s2, size_t n)
|
|||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
c1 = TOLOWER (*p1);
|
c1 = c_tolower (*p1);
|
||||||
c2 = TOLOWER (*p2);
|
c2 = c_tolower (*p2);
|
||||||
|
|
||||||
if (--n == 0 || c1 == '\0')
|
if (--n == 0 || c1 == '\0')
|
||||||
break;
|
break;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
/* Host name canonicalization
|
/* 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]>.
|
Written by Derek Price <[email protected]>.
|
||||||
|
|
||||||
@@ -22,8 +22,9 @@
|
|||||||
|
|
||||||
#include "canon-host.h"
|
#include "canon-host.h"
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
#include "getaddrinfo.h"
|
#include "getaddrinfo.h"
|
||||||
#include "strdup.h"
|
|
||||||
|
|
||||||
/* Store the last error for the single-threaded version of this function. */
|
/* Store the last error for the single-threaded version of this function. */
|
||||||
static int last_cherror;
|
static int last_cherror;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* Return the canonical absolute name of a given file.
|
/* 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
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -246,7 +246,7 @@ canonicalize_filename_mode (const char *name, canonicalize_mode_t can_mode)
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
buf = xreadlink (rname, st.st_size);
|
buf = xreadlink_with_size (rname, st.st_size);
|
||||||
if (!buf)
|
if (!buf)
|
||||||
{
|
{
|
||||||
if (can_mode == CAN_MISSING)
|
if (can_mode == CAN_MISSING)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* Return the canonical absolute name of a given file.
|
/* 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
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
#ifndef CANONICALIZE_H_
|
#ifndef CANONICALIZE_H_
|
||||||
# define CANONICALIZE_H_
|
# define CANONICALIZE_H_
|
||||||
|
|
||||||
# ifdef PROVIDE_CANONICALIZE_FILENAME_MODE
|
# if GNULIB_CANONICALIZE
|
||||||
enum canonicalize_mode_t
|
enum canonicalize_mode_t
|
||||||
{
|
{
|
||||||
/* All components must exist. */
|
/* All components must exist. */
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* provide a chdir function that tries not to fail due to ENAMETOOLONG
|
/* 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
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -29,7 +29,6 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
#include "memrchr.h"
|
|
||||||
#include "openat.h"
|
#include "openat.h"
|
||||||
|
|
||||||
#ifndef PATH_MAX
|
#ifndef PATH_MAX
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/* provide consistent interface to chown for systems that don't interpret
|
/* provide consistent interface to chown for systems that don't interpret
|
||||||
an ID of -1 as meaning `don't change the corresponding ID'.
|
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
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -21,18 +21,23 @@
|
|||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
/* Disable the definition of chown to rpl_chown (from config.h) in this
|
/* Specification. */
|
||||||
file. Otherwise, we'd get conflicting prototypes for rpl_chown on
|
#include <unistd.h>
|
||||||
most systems. */
|
|
||||||
#undef chown
|
|
||||||
|
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <unistd.h>
|
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <errno.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
|
/* Provide a more-closely POSIX-conforming version of chown on
|
||||||
systems with one or both of the following problems:
|
systems with one or both of the following problems:
|
||||||
- chown doesn't treat an ID of -1 as meaning
|
- chown doesn't treat an ID of -1 as meaning
|
||||||
|
|||||||
@@ -120,6 +120,9 @@
|
|||||||
*/
|
*/
|
||||||
/* #undef GETLOADAVG_PRIVILEGED */
|
/* #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 to 1 when using the gnulib close-stream module. */
|
||||||
#define GNULIB_CLOSE_STREAM 1
|
#define GNULIB_CLOSE_STREAM 1
|
||||||
|
|
||||||
@@ -1767,7 +1770,7 @@
|
|||||||
#define gl_va_copy(a,b) ((a) = (b))
|
#define gl_va_copy(a,b) ((a) = (b))
|
||||||
|
|
||||||
/* Define to rpl_gmtime if the replacement function should be used. */
|
/* 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
|
/* 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. */
|
calls it, or to nothing if 'inline' is not supported under any name. */
|
||||||
@@ -1782,7 +1785,7 @@
|
|||||||
/* #undef intmax_t */
|
/* #undef intmax_t */
|
||||||
|
|
||||||
/* Define to rpl_localtime if the replacement function should be used. */
|
/* 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 to `unsigned int' if <sys/types.h> does not define. */
|
||||||
#define major_t unsigned int
|
#define major_t unsigned int
|
||||||
@@ -1869,7 +1872,7 @@
|
|||||||
#define regexec rpl_regexec
|
#define regexec rpl_regexec
|
||||||
|
|
||||||
/* Define to rpl_regfree if the replacement should be used. */
|
/* 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.
|
/* Define to rpl_rename_dest_slash if the replacement function should be used.
|
||||||
*/
|
*/
|
||||||
@@ -1895,7 +1898,7 @@
|
|||||||
/* #undef strtod */
|
/* #undef strtod */
|
||||||
|
|
||||||
/* Define to rpl_tzset if the wrapper function should be used. */
|
/* 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. */
|
/* Define to `int' if <sys/types.h> doesn't define. */
|
||||||
/* #undef uid_t */
|
/* #undef uid_t */
|
||||||
|
|||||||
@@ -1,17 +1,50 @@
|
|||||||
/* lib/config.hin. Generated from configure.ac by autoheader. */
|
/* 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>. */
|
/* Define this to an absolute name of <fcntl.h>. */
|
||||||
#undef ABSOLUTE_FCNTL_H
|
#undef ABSOLUTE_FCNTL_H
|
||||||
|
|
||||||
/* Define this to an absolute name of <inttypes.h>. */
|
/* Define this to an absolute name of <inttypes.h>. */
|
||||||
#undef ABSOLUTE_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>. */
|
/* Define this to an absolute name of <stdint.h>. */
|
||||||
#undef ABSOLUTE_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>. */
|
/* Define this to an absolute name of <sys/stat.h>. */
|
||||||
#undef ABSOLUTE_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. */
|
/* Define to the function xargmatch calls on failures. */
|
||||||
#undef ARGMATCH_DIE
|
#undef ARGMATCH_DIE
|
||||||
|
|
||||||
@@ -89,6 +122,9 @@
|
|||||||
/* Define as good substitute value for EOVERFLOW. */
|
/* Define as good substitute value for EOVERFLOW. */
|
||||||
#undef 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'
|
/* 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
|
prefix, define this to compute the length of that prefix, including the
|
||||||
colon. */
|
colon. */
|
||||||
@@ -119,15 +155,24 @@
|
|||||||
*/
|
*/
|
||||||
#undef GETLOADAVG_PRIVILEGED
|
#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
|
#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
|
#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
|
#undef GNULIB_FOPEN_SAFER
|
||||||
|
|
||||||
|
/* Define to 1 when using the gnulib module fts. */
|
||||||
|
#undef GNULIB_FTS
|
||||||
|
|
||||||
/* The concatenation of the strings `GNU ', and PACKAGE. */
|
/* The concatenation of the strings `GNU ', and PACKAGE. */
|
||||||
#undef GNU_PACKAGE
|
#undef GNU_PACKAGE
|
||||||
|
|
||||||
@@ -173,8 +218,8 @@
|
|||||||
/* Define to 1 if you have the `acl_set_file' function. */
|
/* Define to 1 if you have the `acl_set_file' function. */
|
||||||
#undef HAVE_ACL_SET_FILE
|
#undef HAVE_ACL_SET_FILE
|
||||||
|
|
||||||
/* Define to 1 if you have the `acl_to_text' function. */
|
/* Define to 1 if you have the `acl_trivial' function. */
|
||||||
#undef HAVE_ACL_TO_TEXT
|
#undef HAVE_ACL_TRIVIAL
|
||||||
|
|
||||||
/* Define to 1 if you have the `alarm' function. */
|
/* Define to 1 if you have the `alarm' function. */
|
||||||
#undef HAVE_ALARM
|
#undef HAVE_ALARM
|
||||||
@@ -424,10 +469,6 @@
|
|||||||
*/
|
*/
|
||||||
#undef HAVE_DECL_MKDIR
|
#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
|
/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if
|
||||||
you don't. */
|
you don't. */
|
||||||
#undef HAVE_DECL_PUTCHAR_UNLOCKED
|
#undef HAVE_DECL_PUTCHAR_UNLOCKED
|
||||||
@@ -460,10 +501,6 @@
|
|||||||
don't. */
|
don't. */
|
||||||
#undef HAVE_DECL_STRMODE
|
#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
|
/* Define to 1 if you have the declaration of `strndup', and to 0 if you
|
||||||
don't. */
|
don't. */
|
||||||
#undef HAVE_DECL_STRNDUP
|
#undef HAVE_DECL_STRNDUP
|
||||||
@@ -527,6 +564,9 @@
|
|||||||
/* Define to 1 if you have the `directio' function. */
|
/* Define to 1 if you have the `directio' function. */
|
||||||
#undef HAVE_DIRECTIO
|
#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. */
|
/* Define to 1 if you have the `dirfd' function. */
|
||||||
#undef HAVE_DIRFD
|
#undef HAVE_DIRFD
|
||||||
|
|
||||||
@@ -557,6 +597,9 @@
|
|||||||
/* Define to 1 if you have the `fchmod' function. */
|
/* Define to 1 if you have the `fchmod' function. */
|
||||||
#undef HAVE_FCHMOD
|
#undef HAVE_FCHMOD
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `fchmodat' function. */
|
||||||
|
#undef HAVE_FCHMODAT
|
||||||
|
|
||||||
/* Define to 1 if you have the `fchown' function. */
|
/* Define to 1 if you have the `fchown' function. */
|
||||||
#undef HAVE_FCHOWN
|
#undef HAVE_FCHOWN
|
||||||
|
|
||||||
@@ -576,6 +619,9 @@
|
|||||||
/* Define to 1 if you have the `flockfile' function. */
|
/* Define to 1 if you have the `flockfile' function. */
|
||||||
#undef HAVE_FLOCKFILE
|
#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. */
|
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
|
||||||
#undef HAVE_FSEEKO
|
#undef HAVE_FSEEKO
|
||||||
|
|
||||||
@@ -705,9 +751,6 @@
|
|||||||
/* Define to 1 if you have the `iswctype' function. */
|
/* Define to 1 if you have the `iswctype' function. */
|
||||||
#undef HAVE_ISWCTYPE
|
#undef HAVE_ISWCTYPE
|
||||||
|
|
||||||
/* Define to 1 if you have the `iswprint' function. */
|
|
||||||
#undef HAVE_ISWPRINT
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `iswspace' function. */
|
/* Define to 1 if you have the `iswspace' function. */
|
||||||
#undef HAVE_ISWSPACE
|
#undef HAVE_ISWSPACE
|
||||||
|
|
||||||
@@ -820,6 +863,9 @@
|
|||||||
/* Define to 1 if you have the `microuptime' function. */
|
/* Define to 1 if you have the `microuptime' function. */
|
||||||
#undef HAVE_MICROUPTIME
|
#undef HAVE_MICROUPTIME
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `mkdirat' function. */
|
||||||
|
#undef HAVE_MKDIRAT
|
||||||
|
|
||||||
/* Define to 1 if you have the `mkfifo' function. */
|
/* Define to 1 if you have the `mkfifo' function. */
|
||||||
#undef HAVE_MKFIFO
|
#undef HAVE_MKFIFO
|
||||||
|
|
||||||
@@ -966,6 +1012,9 @@
|
|||||||
/* Define to 1 if you have the <stdio_ext.h> header file. */
|
/* Define to 1 if you have the <stdio_ext.h> header file. */
|
||||||
#undef HAVE_STDIO_EXT_H
|
#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. */
|
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||||
#undef HAVE_STDLIB_H
|
#undef HAVE_STDLIB_H
|
||||||
|
|
||||||
@@ -994,9 +1043,6 @@
|
|||||||
/* Define to 1 if you have the <string.h> header file. */
|
/* Define to 1 if you have the <string.h> header file. */
|
||||||
#undef HAVE_STRING_H
|
#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. */
|
/* Define if you have the strndup() function and it works. */
|
||||||
#undef HAVE_STRNDUP
|
#undef HAVE_STRNDUP
|
||||||
|
|
||||||
@@ -1082,9 +1128,6 @@
|
|||||||
/* Define to 1 if `st_spare1' is member of `struct stat'. */
|
/* Define to 1 if `st_spare1' is member of `struct stat'. */
|
||||||
#undef HAVE_STRUCT_STAT_ST_SPARE1
|
#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'. */
|
/* Define to 1 if `tm_zone' is member of `struct tm'. */
|
||||||
#undef HAVE_STRUCT_TM_TM_ZONE
|
#undef HAVE_STRUCT_TM_TM_ZONE
|
||||||
|
|
||||||
@@ -1252,6 +1295,9 @@
|
|||||||
/* Define to 1 if you have the <sys/table.h> header file. */
|
/* Define to 1 if you have the <sys/table.h> header file. */
|
||||||
#undef HAVE_SYS_TABLE_H
|
#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. */
|
/* Define to 1 if you have the <sys/time.h> header file. */
|
||||||
#undef HAVE_SYS_TIME_H
|
#undef HAVE_SYS_TIME_H
|
||||||
|
|
||||||
@@ -1282,9 +1328,8 @@
|
|||||||
/* Define to 1 if you have the <termios.h> header file. */
|
/* Define to 1 if you have the <termios.h> header file. */
|
||||||
#undef HAVE_TERMIOS_H
|
#undef HAVE_TERMIOS_H
|
||||||
|
|
||||||
/* Define to 1 if localtime_r, etc. have the type signatures that POSIX
|
/* Define to 1 if you have the <time.h> header file. */
|
||||||
requires. */
|
#undef HAVE_TIME_H
|
||||||
#undef HAVE_TIME_R_POSIX
|
|
||||||
|
|
||||||
/* Define if struct tm has the tm_gmtoff member. */
|
/* Define if struct tm has the tm_gmtoff member. */
|
||||||
#undef HAVE_TM_GMTOFF
|
#undef HAVE_TM_GMTOFF
|
||||||
@@ -1345,6 +1390,12 @@
|
|||||||
/* Define to 1 if you have the `vasprintf' function. */
|
/* Define to 1 if you have the `vasprintf' function. */
|
||||||
#undef HAVE_VASPRINTF
|
#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. */
|
/* Define to 1 if you have the <wchar.h> header file. */
|
||||||
#undef HAVE_WCHAR_H
|
#undef HAVE_WCHAR_H
|
||||||
|
|
||||||
@@ -1381,6 +1432,9 @@
|
|||||||
/* Define to 1 if you have the `wmempcpy' function. */
|
/* Define to 1 if you have the `wmempcpy' function. */
|
||||||
#undef HAVE_WMEMPCPY
|
#undef HAVE_WMEMPCPY
|
||||||
|
|
||||||
|
/* Define to 1 if `fork' works. */
|
||||||
|
#undef HAVE_WORKING_FORK
|
||||||
|
|
||||||
/* Define to 1 if O_NOATIME works. */
|
/* Define to 1 if O_NOATIME works. */
|
||||||
#undef HAVE_WORKING_O_NOATIME
|
#undef HAVE_WORKING_O_NOATIME
|
||||||
|
|
||||||
@@ -1390,12 +1444,18 @@
|
|||||||
/* Define if utimes works properly. */
|
/* Define if utimes works properly. */
|
||||||
#undef HAVE_WORKING_UTIMES
|
#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. */
|
/* Define to 1 if you have the <ws2tcpip.h> header file. */
|
||||||
#undef HAVE_WS2TCPIP_H
|
#undef HAVE_WS2TCPIP_H
|
||||||
|
|
||||||
/* Define to 1 if the system has the type `_Bool'. */
|
/* Define to 1 if the system has the type `_Bool'. */
|
||||||
#undef HAVE__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
|
/* Define to 1 if you have the external variable, _system_configuration with a
|
||||||
member named physmem. */
|
member named physmem. */
|
||||||
#undef HAVE__SYSTEM_CONFIGURATION
|
#undef HAVE__SYSTEM_CONFIGURATION
|
||||||
@@ -1535,9 +1595,6 @@
|
|||||||
/* Define to 1 if the C compiler supports function prototypes. */
|
/* Define to 1 if the C compiler supports function prototypes. */
|
||||||
#undef 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
|
/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
|
||||||
'ptrdiff_t'. */
|
'ptrdiff_t'. */
|
||||||
#undef PTRDIFF_T_SUFFIX
|
#undef PTRDIFF_T_SUFFIX
|
||||||
@@ -1546,14 +1603,15 @@
|
|||||||
like the one from SunOS 4.1.1_U1. */
|
like the one from SunOS 4.1.1_U1. */
|
||||||
#undef RENAME_TRAILING_SLASH_BUG
|
#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 */
|
/* the value to which errno is set when rmdir fails on a nonempty directory */
|
||||||
#undef RMDIR_ERRNO_NOT_EMPTY
|
#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
|
/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
|
||||||
'sig_atomic_t'. */
|
'sig_atomic_t'. */
|
||||||
#undef SIG_ATOMIC_T_SUFFIX
|
#undef SIG_ATOMIC_T_SUFFIX
|
||||||
@@ -1633,7 +1691,7 @@
|
|||||||
#undef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC
|
#undef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC
|
||||||
|
|
||||||
/* Define if tzset clobbers localtime's static buffer. */
|
/* Define if tzset clobbers localtime's static buffer. */
|
||||||
#undef TZSET_CLOBBERS_LOCALTIME_BUFFER
|
#undef TZSET_CLOBBERS_LOCALTIME
|
||||||
|
|
||||||
/* Define to 1 for Encore UMAX. */
|
/* Define to 1 for Encore UMAX. */
|
||||||
#undef UMAX
|
#undef UMAX
|
||||||
@@ -1719,16 +1777,10 @@
|
|||||||
# undef _TANDEM_SOURCE
|
# undef _TANDEM_SOURCE
|
||||||
#endif
|
#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
|
/* Define to rpl_ if the getopt replacement functions and variables should be
|
||||||
used. */
|
used. */
|
||||||
#undef __GETOPT_PREFIX
|
#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. */
|
/* Define to rpl_ if the openat replacement function should be used. */
|
||||||
#undef __OPENAT_PREFIX
|
#undef __OPENAT_PREFIX
|
||||||
|
|
||||||
@@ -1738,8 +1790,8 @@
|
|||||||
/* Define to rpl_calloc if the replacement function should be used. */
|
/* Define to rpl_calloc if the replacement function should be used. */
|
||||||
#undef calloc
|
#undef calloc
|
||||||
|
|
||||||
/* Define to rpl_chown if the replacement function should be used. */
|
/* Define to rpl_fchownat if the replacement function should be used. */
|
||||||
#undef chown
|
#undef fchownat
|
||||||
|
|
||||||
/* Define to a replacement function name for fnmatch(). */
|
/* Define to a replacement function name for fnmatch(). */
|
||||||
#undef fnmatch
|
#undef fnmatch
|
||||||
@@ -1756,9 +1808,6 @@
|
|||||||
/* Define to a replacement function name for getpass(). */
|
/* Define to a replacement function name for getpass(). */
|
||||||
#undef 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. */
|
/* Define to `int' if <sys/types.h> doesn't define. */
|
||||||
#undef gid_t
|
#undef gid_t
|
||||||
|
|
||||||
@@ -1810,9 +1859,6 @@
|
|||||||
/* Define to the name of the strftime replacement function. */
|
/* Define to the name of the strftime replacement function. */
|
||||||
#undef my_strftime
|
#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. */
|
/* Define to `long int' if <sys/types.h> does not define. */
|
||||||
#undef off_t
|
#undef off_t
|
||||||
|
|
||||||
@@ -1905,6 +1951,9 @@
|
|||||||
/* Define as a macro for copying va_list variables. */
|
/* Define as a macro for copying va_list variables. */
|
||||||
#undef va_copy
|
#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
|
/* Define to empty if the keyword `volatile' does not work. Warning: valid
|
||||||
code using `volatile' can become incorrect without. Disable with care. */
|
code using `volatile' can become incorrect without. Disable with care. */
|
||||||
#undef volatile
|
#undef volatile
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* String copying.
|
/* Wrapper around <dirent.h>.
|
||||||
Copyright (C) 1995, 2001, 2003 Free Software Foundation, Inc.
|
Copyright (C) 2006-2007 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -15,27 +15,28 @@
|
|||||||
along with this program; if not, write to the Free Software Foundation,
|
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 _STPCPY_H
|
#ifndef _GL_DIRENT_H
|
||||||
#define _STPCPY_H
|
#define _GL_DIRENT_H
|
||||||
|
|
||||||
#if HAVE_STPCPY
|
#include @ABSOLUTE_DIRENT_H@
|
||||||
|
|
||||||
/* Get stpcpy() declaration. */
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#else
|
/* Declare overridden functions. */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Copy SRC to DST, returning the address of the terminating '\0' in DST. */
|
#if @REPLACE_FCHDIR@
|
||||||
extern char *stpcpy (char *dst, const char *src);
|
# define opendir rpl_opendir
|
||||||
|
extern DIR * opendir (const char *);
|
||||||
|
# define closedir rpl_closedir
|
||||||
|
extern int closedir (DIR *);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* _STPCPY_H */
|
#endif /* _GL_DIRENT_H */
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
# endif
|
# endif
|
||||||
|
|
||||||
# ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT
|
# ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT
|
||||||
# define DOUBLE_SLASH_IS_DISTINCT_ROOT 1
|
# define DOUBLE_SLASH_IS_DISTINCT_ROOT 0
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# if FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
|
# if FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
int
|
int
|
||||||
dup_safer (int fd)
|
dup_safer (int fd)
|
||||||
{
|
{
|
||||||
#ifdef F_DUPFD
|
#if defined F_DUPFD && !defined FCHDIR_REPLACEMENT
|
||||||
return fcntl (fd, F_DUPFD, STDERR_FILENO + 1);
|
return fcntl (fd, F_DUPFD, STDERR_FILENO + 1);
|
||||||
#else
|
#else
|
||||||
/* fd_safer calls us back, but eventually the recursion unwinds and
|
/* fd_safer calls us back, but eventually the recursion unwinds and
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* Duplicate an open file descriptor to a specified file descriptor.
|
/* 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
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -20,9 +20,11 @@
|
|||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
|
/* Specification. */
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
#ifndef F_DUPFD
|
#ifndef F_DUPFD
|
||||||
static int
|
static int
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/* exclude.c -- exclude file names
|
/* exclude.c -- exclude file names
|
||||||
|
|
||||||
Copyright (C) 1992, 1993, 1994, 1997, 1999, 2000, 2001, 2002, 2003,
|
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
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -33,7 +33,6 @@
|
|||||||
|
|
||||||
#include "exclude.h"
|
#include "exclude.h"
|
||||||
#include "fnmatch.h"
|
#include "fnmatch.h"
|
||||||
#include "strcase.h"
|
|
||||||
#include "xalloc.h"
|
#include "xalloc.h"
|
||||||
#include "verify.h"
|
#include "verify.h"
|
||||||
|
|
||||||
@@ -45,13 +44,16 @@
|
|||||||
#ifndef FNM_CASEFOLD
|
#ifndef FNM_CASEFOLD
|
||||||
# define FNM_CASEFOLD 0
|
# define FNM_CASEFOLD 0
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef FNM_EXTMATCH
|
||||||
|
# define FNM_EXTMATCH 0
|
||||||
|
#endif
|
||||||
#ifndef FNM_LEADING_DIR
|
#ifndef FNM_LEADING_DIR
|
||||||
# define FNM_LEADING_DIR 0
|
# define FNM_LEADING_DIR 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
verify (((EXCLUDE_ANCHORED | EXCLUDE_INCLUDE | EXCLUDE_WILDCARDS)
|
verify (((EXCLUDE_ANCHORED | EXCLUDE_INCLUDE | EXCLUDE_WILDCARDS)
|
||||||
& (FNM_PATHNAME | FNM_NOESCAPE | FNM_PERIOD | FNM_LEADING_DIR
|
& (FNM_PATHNAME | FNM_NOESCAPE | FNM_PERIOD | FNM_LEADING_DIR
|
||||||
| FNM_CASEFOLD))
|
| FNM_CASEFOLD | FNM_EXTMATCH))
|
||||||
== 0);
|
== 0);
|
||||||
|
|
||||||
/* An exclude pattern-options pair. The options are fnmatch options
|
/* 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))
|
if (! (options & FNM_LEADING_DIR))
|
||||||
return ((options & FNM_CASEFOLD)
|
return ((options & FNM_CASEFOLD)
|
||||||
? strcasecmp (pattern, f)
|
? mbscasecmp (pattern, f)
|
||||||
: strcmp (pattern, f));
|
: strcmp (pattern, f));
|
||||||
else
|
else if (! (options & FNM_CASEFOLD))
|
||||||
{
|
{
|
||||||
size_t patlen = strlen (pattern);
|
size_t patlen = strlen (pattern);
|
||||||
int r = ((options & FNM_CASEFOLD)
|
int r = strncmp (pattern, f, patlen);
|
||||||
? strncasecmp (pattern, f, patlen)
|
|
||||||
: strncmp (pattern, f, patlen));
|
|
||||||
if (! r)
|
if (! r)
|
||||||
{
|
{
|
||||||
r = f[patlen];
|
r = f[patlen];
|
||||||
@@ -113,6 +113,30 @@ fnmatch_no_wildcards (char const *pattern, char const *f, int options)
|
|||||||
}
|
}
|
||||||
return r;
|
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
|
bool
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* Failure exit status
|
/* 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
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -20,6 +20,7 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
#include "exitfail.h"
|
#include "exitfail.h"
|
||||||
#include "exit.h"
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
int volatile exit_failure = EXIT_FAILURE;
|
int volatile exit_failure = EXIT_FAILURE;
|
||||||
|
|||||||
@@ -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;
|
|
||||||
}
|
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
@@ -26,6 +26,25 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include @ABSOLUTE_FCNTL_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
|
#if !defined O_DIRECT && defined O_DIRECTIO
|
||||||
/* Tru64 spells it `O_DIRECTIO'. */
|
/* Tru64 spells it `O_DIRECTIO'. */
|
||||||
# define O_DIRECT O_DIRECTIO
|
# define O_DIRECT O_DIRECTIO
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -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.
|
Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
@@ -40,15 +40,14 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#define WIDE_CHAR_SUPPORT \
|
#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))
|
&& HAVE_WMEMCHR && (HAVE_WMEMCPY || HAVE_WMEMPCPY))
|
||||||
|
|
||||||
/* For platform which support the ISO C amendement 1 functionality we
|
/* For platform which support the ISO C amendement 1 functionality we
|
||||||
support user defined character classes. */
|
support user defined character classes. */
|
||||||
#if defined _LIBC || WIDE_CHAR_SUPPORT
|
#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 <wctype.h>
|
||||||
|
# include <wchar.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* We need some of the locale data (the collation sequence information)
|
/* We need some of the locale data (the collation sequence information)
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
/* Copyright (C) 1991, 1992, 1993, 1996, 1997, 1998, 1999, 2001, 2002, 2003,
|
/* 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
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -16,48 +18,48 @@
|
|||||||
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
|
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||||
|
|
||||||
#ifndef _FNMATCH_H
|
#ifndef _FNMATCH_H
|
||||||
# define _FNMATCH_H 1
|
#define _FNMATCH_H 1
|
||||||
|
|
||||||
# ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
# endif
|
#endif
|
||||||
|
|
||||||
/* We #undef these before defining them because some losing systems
|
/* We #undef these before defining them because some losing systems
|
||||||
(HP-UX A.08.07 for example) define these in <unistd.h>. */
|
(HP-UX A.08.07 for example) define these in <unistd.h>. */
|
||||||
# undef FNM_PATHNAME
|
#undef FNM_PATHNAME
|
||||||
# undef FNM_NOESCAPE
|
#undef FNM_NOESCAPE
|
||||||
# undef FNM_PERIOD
|
#undef FNM_PERIOD
|
||||||
|
|
||||||
/* Bits set in the FLAGS argument to `fnmatch'. */
|
/* Bits set in the FLAGS argument to `fnmatch'. */
|
||||||
# define FNM_PATHNAME (1 << 0) /* No wildcard can ever match `/'. */
|
#define FNM_PATHNAME (1 << 0) /* No wildcard can ever match `/'. */
|
||||||
# define FNM_NOESCAPE (1 << 1) /* Backslashes don't quote special chars. */
|
#define FNM_NOESCAPE (1 << 1) /* Backslashes don't quote special chars. */
|
||||||
# define FNM_PERIOD (1 << 2) /* Leading `.' is matched only explicitly. */
|
#define FNM_PERIOD (1 << 2) /* Leading `.' is matched only explicitly. */
|
||||||
|
|
||||||
# if !defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _GNU_SOURCE
|
#if !defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _GNU_SOURCE
|
||||||
# define FNM_FILE_NAME FNM_PATHNAME /* Preferred GNU name. */
|
# define FNM_FILE_NAME FNM_PATHNAME /* Preferred GNU name. */
|
||||||
# define FNM_LEADING_DIR (1 << 3) /* Ignore `/...' after a match. */
|
# define FNM_LEADING_DIR (1 << 3) /* Ignore `/...' after a match. */
|
||||||
# define FNM_CASEFOLD (1 << 4) /* Compare without regard to case. */
|
# define FNM_CASEFOLD (1 << 4) /* Compare without regard to case. */
|
||||||
# define FNM_EXTMATCH (1 << 5) /* Use ksh-like extended matching. */
|
# define FNM_EXTMATCH (1 << 5) /* Use ksh-like extended matching. */
|
||||||
# endif
|
#endif
|
||||||
|
|
||||||
/* Value returned by `fnmatch' if STRING does not match PATTERN. */
|
/* 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
|
/* This value is returned if the implementation does not support
|
||||||
`fnmatch'. Since this is not the case here it will never be
|
`fnmatch'. Since this is not the case here it will never be
|
||||||
returned but the conformance test suites still require the symbol
|
returned but the conformance test suites still require the symbol
|
||||||
to be defined. */
|
to be defined. */
|
||||||
# ifdef _XOPEN_SOURCE
|
#ifdef _XOPEN_SOURCE
|
||||||
# define FNM_NOSYS (-1)
|
# define FNM_NOSYS (-1)
|
||||||
# endif
|
#endif
|
||||||
|
|
||||||
/* Match NAME against the file name pattern PATTERN,
|
/* Match NAME against the file name pattern PATTERN,
|
||||||
returning zero if it matches, FNM_NOMATCH if not. */
|
returning zero if it matches, FNM_NOMATCH if not. */
|
||||||
extern int fnmatch (const char *__pattern, const char *__name,
|
extern int fnmatch (const char *__pattern, const char *__name,
|
||||||
int __flags);
|
int __flags);
|
||||||
|
|
||||||
# ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
# endif
|
#endif
|
||||||
|
|
||||||
#endif /* fnmatch.h */
|
#endif /* fnmatch.h */
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
/* 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
|
||||||
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
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -233,8 +234,7 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end,
|
|||||||
c = FOLD ((UCHAR) *p);
|
c = FOLD ((UCHAR) *p);
|
||||||
++p;
|
++p;
|
||||||
|
|
||||||
if (c == fn)
|
goto normal_bracket;
|
||||||
goto matched;
|
|
||||||
}
|
}
|
||||||
else if (c == L_('[') && *p == L_(':'))
|
else if (c == L_('[') && *p == L_(':'))
|
||||||
{
|
{
|
||||||
@@ -494,24 +494,31 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end,
|
|||||||
|
|
||||||
idx = 0;
|
idx = 0;
|
||||||
elem = hash % table_size;
|
elem = hash % table_size;
|
||||||
second = hash % (table_size - 2);
|
if (symb_table[2 * elem] != 0)
|
||||||
while (symb_table[2 * elem] != 0)
|
|
||||||
{
|
{
|
||||||
/* First compare the hashing value. */
|
second = hash % (table_size - 2) + 1;
|
||||||
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. */
|
do
|
||||||
elem += second;
|
{
|
||||||
|
/* 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)
|
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)
|
if (!is_range && c == fn)
|
||||||
goto matched;
|
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;
|
cold = c;
|
||||||
c = *p++;
|
c = *p++;
|
||||||
}
|
}
|
||||||
@@ -703,25 +716,30 @@ FCT (const CHAR *pattern, const CHAR *string, const CHAR *string_end,
|
|||||||
|
|
||||||
idx = 0;
|
idx = 0;
|
||||||
elem = hash % table_size;
|
elem = hash % table_size;
|
||||||
second = hash % (table_size - 2);
|
if (symb_table[2 * elem] != 0)
|
||||||
while (symb_table[2 * elem] != 0)
|
|
||||||
{
|
{
|
||||||
/* First compare the hashing value. */
|
second = hash % (table_size - 2) + 1;
|
||||||
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. */
|
do
|
||||||
elem += second;
|
{
|
||||||
|
/* 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)
|
if (symb_table[2 * elem] != 0)
|
||||||
|
|||||||
@@ -56,6 +56,11 @@
|
|||||||
# include "full-read.h"
|
# include "full-read.h"
|
||||||
#endif
|
#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
|
/* Many space usage primitives use all 1 bits to denote a value that is
|
||||||
not applicable or unknown. Propagate this information by returning
|
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
|
a uintmax_t value that is all 1 bits if X is all 1 bits, even if X
|
||||||
|
|||||||
@@ -3,6 +3,9 @@
|
|||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
|
/* Specification. */
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
|
||||||
@@ -21,7 +24,6 @@ ftruncate (int fd, off_t length)
|
|||||||
|
|
||||||
# include <sys/stat.h>
|
# include <sys/stat.h>
|
||||||
# include <errno.h>
|
# include <errno.h>
|
||||||
# include <unistd.h>
|
|
||||||
|
|
||||||
int
|
int
|
||||||
ftruncate (int fd, off_t length)
|
ftruncate (int fd, off_t length)
|
||||||
@@ -64,7 +66,7 @@ ftruncate (int fd, off_t length)
|
|||||||
}
|
}
|
||||||
|
|
||||||
# else /* not F_CHSIZE nor F_FREESP */
|
# else /* not F_CHSIZE nor F_FREESP */
|
||||||
# if HAVE_CHSIZE
|
# if HAVE_CHSIZE /* native Windows, e.g. mingw */
|
||||||
|
|
||||||
int
|
int
|
||||||
ftruncate (int fd, off_t length)
|
ftruncate (int fd, off_t length)
|
||||||
|
|||||||
+28
-26
@@ -1,6 +1,6 @@
|
|||||||
/* Traverse a file hierarchy.
|
/* 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
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -138,6 +138,18 @@ enum Fts_stat
|
|||||||
# define HAVE_OPENAT_SUPPORT 0
|
# define HAVE_OPENAT_SUPPORT 0
|
||||||
#endif
|
#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_alloc (FTS *, const char *, size_t) internal_function;
|
||||||
static FTSENT *fts_build (FTS *, int) internal_function;
|
static FTSENT *fts_build (FTS *, int) internal_function;
|
||||||
static void fts_lfree (FTSENT *) 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 *)
|
static int fts_safe_changedir (FTS *, FTSENT *, int, const char *)
|
||||||
internal_function;
|
internal_function;
|
||||||
|
|
||||||
#if _LGPL_PACKAGE
|
#if GNULIB_FTS
|
||||||
|
# include "fts-cycle.c"
|
||||||
|
#else
|
||||||
static bool enter_dir (FTS *fts, FTSENT *ent) { return true; }
|
static bool enter_dir (FTS *fts, FTSENT *ent) { return true; }
|
||||||
static void leave_dir (FTS *fts, FTSENT *ent) {}
|
static void leave_dir (FTS *fts, FTSENT *ent) {}
|
||||||
static bool setup_dir (FTS *fts) { return true; }
|
static bool setup_dir (FTS *fts) { return true; }
|
||||||
static void free_dir (FTS *fts) {}
|
static void free_dir (FTS *fts) {}
|
||||||
#else
|
|
||||||
# include "fts-cycle.c"
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef MAX
|
#ifndef MAX
|
||||||
@@ -236,8 +248,7 @@ fd_ring_clear (I_ring *fd_ring)
|
|||||||
static void
|
static void
|
||||||
fts_set_stat_required (FTSENT *p, bool required)
|
fts_set_stat_required (FTSENT *p, bool required)
|
||||||
{
|
{
|
||||||
if (p->fts_info != FTS_NSOK)
|
fts_assert (p->fts_info == FTS_NSOK);
|
||||||
abort ();
|
|
||||||
p->fts_statp->st_size = (required
|
p->fts_statp->st_size = (required
|
||||||
? FTS_STAT_REQUIRED
|
? FTS_STAT_REQUIRED
|
||||||
: FTS_NO_STAT_REQUIRED);
|
: FTS_NO_STAT_REQUIRED);
|
||||||
@@ -274,8 +285,7 @@ internal_function
|
|||||||
cwd_advance_fd (FTS *sp, int fd, bool chdir_down_one)
|
cwd_advance_fd (FTS *sp, int fd, bool chdir_down_one)
|
||||||
{
|
{
|
||||||
int old = sp->fts_cwd_fd;
|
int old = sp->fts_cwd_fd;
|
||||||
if (old == fd && old != AT_FDCWD)
|
fts_assert (old != fd || old == AT_FDCWD);
|
||||||
abort ();
|
|
||||||
|
|
||||||
if (chdir_down_one)
|
if (chdir_down_one)
|
||||||
{
|
{
|
||||||
@@ -688,6 +698,7 @@ fts_read (register FTS *sp)
|
|||||||
/* Move to the next node on this level. */
|
/* Move to the next node on this level. */
|
||||||
next: tmp = p;
|
next: tmp = p;
|
||||||
if ((p = p->fts_link) != NULL) {
|
if ((p = p->fts_link) != NULL) {
|
||||||
|
sp->fts_cur = p;
|
||||||
free(tmp);
|
free(tmp);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -698,7 +709,6 @@ next: tmp = p;
|
|||||||
if (p->fts_level == FTS_ROOTLEVEL) {
|
if (p->fts_level == FTS_ROOTLEVEL) {
|
||||||
if (RESTORE_INITIAL_CWD(sp)) {
|
if (RESTORE_INITIAL_CWD(sp)) {
|
||||||
SET(FTS_STOP);
|
SET(FTS_STOP);
|
||||||
sp->fts_cur = p;
|
|
||||||
return (NULL);
|
return (NULL);
|
||||||
}
|
}
|
||||||
fts_load(sp, p);
|
fts_load(sp, p);
|
||||||
@@ -728,22 +738,15 @@ name: t = sp->fts_path + NAPPEND(p->fts_parent);
|
|||||||
*t++ = '/';
|
*t++ = '/';
|
||||||
memmove(t, p->fts_name, p->fts_namelen + 1);
|
memmove(t, p->fts_name, p->fts_namelen + 1);
|
||||||
check_for_dir:
|
check_for_dir:
|
||||||
|
sp->fts_cur = p;
|
||||||
if (p->fts_info == FTS_NSOK)
|
if (p->fts_info == FTS_NSOK)
|
||||||
{
|
{
|
||||||
enum Fts_stat need_stat = p->fts_statp->st_size;
|
if (p->fts_statp->st_size == FTS_STAT_REQUIRED)
|
||||||
switch (need_stat)
|
p->fts_info = fts_stat(sp, p, false);
|
||||||
{
|
else
|
||||||
case FTS_STAT_REQUIRED:
|
fts_assert (p->fts_statp->st_size == FTS_NO_STAT_REQUIRED);
|
||||||
p->fts_info = fts_stat(sp, p, false);
|
|
||||||
break;
|
|
||||||
case FTS_NO_STAT_REQUIRED:
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
abort ();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sp->fts_cur = p;
|
|
||||||
if (p->fts_info == FTS_D)
|
if (p->fts_info == FTS_D)
|
||||||
{
|
{
|
||||||
/* Now that P->fts_statp is guaranteed to be valid,
|
/* Now that P->fts_statp is guaranteed to be valid,
|
||||||
@@ -763,6 +766,7 @@ check_for_dir:
|
|||||||
|
|
||||||
/* Move up to the parent node. */
|
/* Move up to the parent node. */
|
||||||
p = tmp->fts_parent;
|
p = tmp->fts_parent;
|
||||||
|
sp->fts_cur = p;
|
||||||
free(tmp);
|
free(tmp);
|
||||||
|
|
||||||
if (p->fts_level == FTS_ROOTPARENTLEVEL) {
|
if (p->fts_level == FTS_ROOTPARENTLEVEL) {
|
||||||
@@ -775,8 +779,7 @@ check_for_dir:
|
|||||||
return (sp->fts_cur = NULL);
|
return (sp->fts_cur = NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (p->fts_info == FTS_NSOK)
|
fts_assert (p->fts_info != FTS_NSOK);
|
||||||
abort ();
|
|
||||||
|
|
||||||
/* NUL terminate the file name. */
|
/* NUL terminate the file name. */
|
||||||
sp->fts_path[p->fts_pathlen] = '\0';
|
sp->fts_path[p->fts_pathlen] = '\0';
|
||||||
@@ -809,7 +812,6 @@ check_for_dir:
|
|||||||
p->fts_info = p->fts_errno ? FTS_ERR : FTS_DP;
|
p->fts_info = p->fts_errno ? FTS_ERR : FTS_DP;
|
||||||
if (p->fts_errno == 0)
|
if (p->fts_errno == 0)
|
||||||
LEAVE_DIR (sp, p, "3");
|
LEAVE_DIR (sp, p, "3");
|
||||||
sp->fts_cur = p;
|
|
||||||
return ISSET(FTS_STOP) ? NULL : p;
|
return ISSET(FTS_STOP) ? NULL : p;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1345,7 +1347,7 @@ fd_ring_check (FTS const *sp)
|
|||||||
error (0, errno, "parent: %s", c2);
|
error (0, errno, "parent: %s", c2);
|
||||||
free (cwd);
|
free (cwd);
|
||||||
free (c2);
|
free (c2);
|
||||||
abort ();
|
fts_assert (0);
|
||||||
}
|
}
|
||||||
close (cwd_fd);
|
close (cwd_fd);
|
||||||
cwd_fd = parent_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);
|
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
|
* Cycle detection is done by brute force when the directory
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* Traverse a file hierarchy.
|
/* 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
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -52,7 +52,6 @@
|
|||||||
|
|
||||||
# ifdef _LIBC
|
# ifdef _LIBC
|
||||||
# include <features.h>
|
# include <features.h>
|
||||||
# define _LGPL_PACKAGE 1
|
|
||||||
# else
|
# else
|
||||||
# undef __THROW
|
# undef __THROW
|
||||||
# define __THROW
|
# define __THROW
|
||||||
@@ -142,7 +141,7 @@ typedef struct {
|
|||||||
# define FTS_STOP 0x2000 /* (private) unrecoverable error */
|
# define FTS_STOP 0x2000 /* (private) unrecoverable error */
|
||||||
int fts_options; /* fts_open options, global flags */
|
int fts_options; /* fts_open options, global flags */
|
||||||
|
|
||||||
# if !_LGPL_PACKAGE
|
# if GNULIB_FTS
|
||||||
union {
|
union {
|
||||||
/* This data structure is used if FTS_TIGHT_CYCLE_CHECK is
|
/* This data structure is used if FTS_TIGHT_CYCLE_CHECK is
|
||||||
specified. It records the directories between a starting
|
specified. It records the directories between a starting
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ values[] =
|
|||||||
{ EAI_SERVICE, N_("Servname not supported for ai_socktype") },
|
{ EAI_SERVICE, N_("Servname not supported for ai_socktype") },
|
||||||
{ EAI_SOCKTYPE, N_("ai_socktype not supported") },
|
{ EAI_SOCKTYPE, N_("ai_socktype not supported") },
|
||||||
{ EAI_SYSTEM, N_("System error") },
|
{ EAI_SYSTEM, N_("System error") },
|
||||||
|
{ EAI_OVERFLOW, N_("Argument buffer too small") },
|
||||||
#ifdef __USE_GNU
|
#ifdef __USE_GNU
|
||||||
{ EAI_INPROGRESS, N_("Processing request in progress") },
|
{ EAI_INPROGRESS, N_("Processing request in progress") },
|
||||||
{ EAI_CANCELED, N_("Request canceled") },
|
{ EAI_CANCELED, N_("Request canceled") },
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* Get address information (partial implementation).
|
/* 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.
|
Foundation, Inc.
|
||||||
Contributed by Simon Josefsson <simon@josefsson.org>.
|
Contributed by Simon Josefsson <simon@josefsson.org>.
|
||||||
|
|
||||||
@@ -28,9 +28,12 @@
|
|||||||
/* Get calloc. */
|
/* Get calloc. */
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
/* Get memcpy. */
|
/* Get memcpy, strdup. */
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
/* Get snprintf. */
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|
||||||
#include "gettext.h"
|
#include "gettext.h"
|
||||||
@@ -38,8 +41,6 @@
|
|||||||
#define N_(String) String
|
#define N_(String) String
|
||||||
|
|
||||||
#include "inet_ntop.h"
|
#include "inet_ntop.h"
|
||||||
#include "snprintf.h"
|
|
||||||
#include "strdup.h"
|
|
||||||
|
|
||||||
/* BeOS has AF_INET, but not PF_INET. */
|
/* BeOS has AF_INET, but not PF_INET. */
|
||||||
#ifndef PF_INET
|
#ifndef PF_INET
|
||||||
|
|||||||
@@ -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.
|
Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
@@ -18,7 +18,8 @@
|
|||||||
|
|
||||||
#if !_LIBC
|
#if !_LIBC
|
||||||
# include <config.h>
|
# include <config.h>
|
||||||
# include "getcwd.h"
|
# include <unistd.h>
|
||||||
|
# include "dirfd.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
@@ -49,8 +50,6 @@
|
|||||||
# ifndef mempcpy
|
# ifndef mempcpy
|
||||||
# define mempcpy __mempcpy
|
# define mempcpy __mempcpy
|
||||||
# endif
|
# endif
|
||||||
#else
|
|
||||||
# include "mempcpy.h"
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
@@ -97,6 +96,11 @@
|
|||||||
# define __opendir opendir
|
# define __opendir opendir
|
||||||
# define __readdir readdir
|
# define __readdir readdir
|
||||||
#endif
|
#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
|
/* 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
|
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 allocated = size;
|
||||||
size_t used;
|
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
|
/* The system getcwd works, except it sometimes fails when it
|
||||||
shouldn't, setting errno to ERANGE, ENAMETOOLONG, or ENOENT. If
|
shouldn't, setting errno to ERANGE, ENAMETOOLONG, or ENOENT. If
|
||||||
AT_FDCWD is not defined, the algorithm below is O(N**2) and this
|
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).
|
is much slower than the system getcwd (at least on GNU/Linux).
|
||||||
So trust the system getcwd's results unless they look
|
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
|
# undef getcwd
|
||||||
dir = getcwd (buf, size);
|
dir = getcwd (buf, size);
|
||||||
if (dir || (errno != ERANGE && !is_ENAMETOOLONG (errno) && errno != ENOENT))
|
if (dir || (errno != ERANGE && !is_ENAMETOOLONG (errno) && errno != ENOENT))
|
||||||
@@ -226,6 +235,8 @@ __getcwd (char *buf, size_t size)
|
|||||||
dirstream = fdopendir (fd);
|
dirstream = fdopendir (fd);
|
||||||
if (dirstream == NULL)
|
if (dirstream == NULL)
|
||||||
goto lose;
|
goto lose;
|
||||||
|
/* Reset fd. It may have been closed by fdopendir. */
|
||||||
|
fd = dirfd (dirstream);
|
||||||
fd_needs_closing = false;
|
fd_needs_closing = false;
|
||||||
#else
|
#else
|
||||||
dirstream = __opendir (dotlist);
|
dirstream = __opendir (dotlist);
|
||||||
@@ -380,7 +391,7 @@ __getcwd (char *buf, size_t size)
|
|||||||
used = dir + allocated - dirp;
|
used = dir + allocated - dirp;
|
||||||
memmove (dir, dirp, used);
|
memmove (dir, dirp, used);
|
||||||
|
|
||||||
if (buf == NULL && size == 0)
|
if (size == 0)
|
||||||
/* Ensure that the buffer is only as large as necessary. */
|
/* Ensure that the buffer is only as large as necessary. */
|
||||||
buf = realloc (dir, used);
|
buf = realloc (dir, used);
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
|
||||||
@@ -66,7 +66,7 @@
|
|||||||
|
|
||||||
/* Parse a string into an internal time stamp.
|
/* 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.
|
Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
@@ -100,6 +100,7 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
#include "getdate.h"
|
#include "getdate.h"
|
||||||
|
#include "timespec.h"
|
||||||
|
|
||||||
/* There's no need to extend the stack, so there's no need to involve
|
/* There's no need to extend the stack, so there's no need to involve
|
||||||
alloca. */
|
alloca. */
|
||||||
@@ -337,16 +338,16 @@ static long int time_zone_hhmm (textint, long int);
|
|||||||
|
|
||||||
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
||||||
typedef union YYSTYPE
|
typedef union YYSTYPE
|
||||||
{/* Line 198 of yacc.c. */
|
{/* Line 191 of yacc.c. */
|
||||||
#line 213 "getdate.y"
|
#line 214 "getdate.y"
|
||||||
|
|
||||||
long int intval;
|
long int intval;
|
||||||
textint textintval;
|
textint textintval;
|
||||||
struct timespec timespec;
|
struct timespec timespec;
|
||||||
relative_time rel;
|
relative_time rel;
|
||||||
}
|
}
|
||||||
/* Line 198 of yacc.c. */
|
/* Line 191 of yacc.c. */
|
||||||
#line 350 "getdate.c"
|
#line 351 "getdate.c"
|
||||||
YYSTYPE;
|
YYSTYPE;
|
||||||
# define YYSTYPE_IS_TRIVIAL 1
|
# define YYSTYPE_IS_TRIVIAL 1
|
||||||
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
||||||
@@ -359,7 +360,7 @@ typedef union YYSTYPE
|
|||||||
/* Copy the second part of user declarations. */
|
/* Copy the second part of user declarations. */
|
||||||
|
|
||||||
/* Line 221 of yacc.c. */
|
/* Line 221 of yacc.c. */
|
||||||
#line 363 "getdate.c"
|
#line 364 "getdate.c"
|
||||||
|
|
||||||
#ifdef short
|
#ifdef short
|
||||||
# undef short
|
# undef short
|
||||||
@@ -671,14 +672,14 @@ static const yytype_int8 yyrhs[] =
|
|||||||
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
|
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
|
||||||
static const yytype_uint16 yyrline[] =
|
static const yytype_uint16 yyrline[] =
|
||||||
{
|
{
|
||||||
0, 239, 239, 240, 244, 251, 253, 257, 259, 261,
|
0, 240, 240, 241, 245, 252, 254, 258, 260, 262,
|
||||||
263, 265, 267, 269, 273, 281, 289, 299, 306, 318,
|
264, 266, 268, 270, 274, 282, 290, 300, 307, 319,
|
||||||
323, 331, 333, 343, 345, 347, 352, 357, 362, 367,
|
324, 332, 334, 344, 346, 348, 353, 358, 363, 368,
|
||||||
375, 380, 400, 407, 415, 423, 428, 434, 439, 448,
|
376, 381, 401, 408, 416, 424, 429, 435, 440, 449,
|
||||||
458, 471, 473, 475, 477, 479, 481, 483, 485, 487,
|
459, 472, 474, 476, 478, 480, 482, 484, 486, 488,
|
||||||
489, 491, 493, 495, 497, 499, 501, 503, 505, 507,
|
490, 492, 494, 496, 498, 500, 502, 504, 506, 508,
|
||||||
509, 511, 515, 517, 519, 521, 523, 525, 529, 529,
|
510, 512, 516, 518, 520, 522, 524, 526, 530, 530,
|
||||||
532, 533, 538, 539, 544, 582, 583, 589, 590
|
533, 534, 539, 540, 545, 583, 584, 590, 591
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -1653,7 +1654,7 @@ yyreduce:
|
|||||||
{
|
{
|
||||||
case 4:
|
case 4:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 245 "getdate.y"
|
#line 246 "getdate.y"
|
||||||
{
|
{
|
||||||
pc->seconds = (yyvsp[(2) - (2)].timespec);
|
pc->seconds = (yyvsp[(2) - (2)].timespec);
|
||||||
pc->timespec_seen = true;
|
pc->timespec_seen = true;
|
||||||
@@ -1662,43 +1663,43 @@ yyreduce:
|
|||||||
|
|
||||||
case 7:
|
case 7:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 258 "getdate.y"
|
#line 259 "getdate.y"
|
||||||
{ pc->times_seen++; }
|
{ pc->times_seen++; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 8:
|
case 8:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 260 "getdate.y"
|
#line 261 "getdate.y"
|
||||||
{ pc->local_zones_seen++; }
|
{ pc->local_zones_seen++; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 9:
|
case 9:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 262 "getdate.y"
|
#line 263 "getdate.y"
|
||||||
{ pc->zones_seen++; }
|
{ pc->zones_seen++; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 10:
|
case 10:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 264 "getdate.y"
|
#line 265 "getdate.y"
|
||||||
{ pc->dates_seen++; }
|
{ pc->dates_seen++; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 11:
|
case 11:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 266 "getdate.y"
|
#line 267 "getdate.y"
|
||||||
{ pc->days_seen++; }
|
{ pc->days_seen++; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 12:
|
case 12:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 268 "getdate.y"
|
#line 269 "getdate.y"
|
||||||
{ pc->rels_seen = true; }
|
{ pc->rels_seen = true; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 14:
|
case 14:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 274 "getdate.y"
|
#line 275 "getdate.y"
|
||||||
{
|
{
|
||||||
pc->hour = (yyvsp[(1) - (2)].textintval).value;
|
pc->hour = (yyvsp[(1) - (2)].textintval).value;
|
||||||
pc->minutes = 0;
|
pc->minutes = 0;
|
||||||
@@ -1710,7 +1711,7 @@ yyreduce:
|
|||||||
|
|
||||||
case 15:
|
case 15:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 282 "getdate.y"
|
#line 283 "getdate.y"
|
||||||
{
|
{
|
||||||
pc->hour = (yyvsp[(1) - (4)].textintval).value;
|
pc->hour = (yyvsp[(1) - (4)].textintval).value;
|
||||||
pc->minutes = (yyvsp[(3) - (4)].textintval).value;
|
pc->minutes = (yyvsp[(3) - (4)].textintval).value;
|
||||||
@@ -1722,7 +1723,7 @@ yyreduce:
|
|||||||
|
|
||||||
case 16:
|
case 16:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 290 "getdate.y"
|
#line 291 "getdate.y"
|
||||||
{
|
{
|
||||||
pc->hour = (yyvsp[(1) - (5)].textintval).value;
|
pc->hour = (yyvsp[(1) - (5)].textintval).value;
|
||||||
pc->minutes = (yyvsp[(3) - (5)].textintval).value;
|
pc->minutes = (yyvsp[(3) - (5)].textintval).value;
|
||||||
@@ -1736,7 +1737,7 @@ yyreduce:
|
|||||||
|
|
||||||
case 17:
|
case 17:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 300 "getdate.y"
|
#line 301 "getdate.y"
|
||||||
{
|
{
|
||||||
pc->hour = (yyvsp[(1) - (6)].textintval).value;
|
pc->hour = (yyvsp[(1) - (6)].textintval).value;
|
||||||
pc->minutes = (yyvsp[(3) - (6)].textintval).value;
|
pc->minutes = (yyvsp[(3) - (6)].textintval).value;
|
||||||
@@ -1747,7 +1748,7 @@ yyreduce:
|
|||||||
|
|
||||||
case 18:
|
case 18:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 307 "getdate.y"
|
#line 308 "getdate.y"
|
||||||
{
|
{
|
||||||
pc->hour = (yyvsp[(1) - (7)].textintval).value;
|
pc->hour = (yyvsp[(1) - (7)].textintval).value;
|
||||||
pc->minutes = (yyvsp[(3) - (7)].textintval).value;
|
pc->minutes = (yyvsp[(3) - (7)].textintval).value;
|
||||||
@@ -1760,7 +1761,7 @@ yyreduce:
|
|||||||
|
|
||||||
case 19:
|
case 19:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 319 "getdate.y"
|
#line 320 "getdate.y"
|
||||||
{
|
{
|
||||||
pc->local_isdst = (yyvsp[(1) - (1)].intval);
|
pc->local_isdst = (yyvsp[(1) - (1)].intval);
|
||||||
pc->dsts_seen += (0 < (yyvsp[(1) - (1)].intval));
|
pc->dsts_seen += (0 < (yyvsp[(1) - (1)].intval));
|
||||||
@@ -1769,7 +1770,7 @@ yyreduce:
|
|||||||
|
|
||||||
case 20:
|
case 20:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 324 "getdate.y"
|
#line 325 "getdate.y"
|
||||||
{
|
{
|
||||||
pc->local_isdst = 1;
|
pc->local_isdst = 1;
|
||||||
pc->dsts_seen += (0 < (yyvsp[(1) - (2)].intval)) + 1;
|
pc->dsts_seen += (0 < (yyvsp[(1) - (2)].intval)) + 1;
|
||||||
@@ -1778,13 +1779,13 @@ yyreduce:
|
|||||||
|
|
||||||
case 21:
|
case 21:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 332 "getdate.y"
|
#line 333 "getdate.y"
|
||||||
{ pc->time_zone = (yyvsp[(1) - (1)].intval); }
|
{ pc->time_zone = (yyvsp[(1) - (1)].intval); }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 22:
|
case 22:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 334 "getdate.y"
|
#line 335 "getdate.y"
|
||||||
{ pc->time_zone = (yyvsp[(1) - (2)].intval);
|
{ pc->time_zone = (yyvsp[(1) - (2)].intval);
|
||||||
pc->rel.ns += (yyvsp[(2) - (2)].rel).ns;
|
pc->rel.ns += (yyvsp[(2) - (2)].rel).ns;
|
||||||
pc->rel.seconds += (yyvsp[(2) - (2)].rel).seconds;
|
pc->rel.seconds += (yyvsp[(2) - (2)].rel).seconds;
|
||||||
@@ -1798,25 +1799,25 @@ yyreduce:
|
|||||||
|
|
||||||
case 23:
|
case 23:
|
||||||
/* Line 1269 of yacc.c. */
|
/* 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)); }
|
{ pc->time_zone = (yyvsp[(1) - (3)].intval) + time_zone_hhmm ((yyvsp[(2) - (3)].textintval), (yyvsp[(3) - (3)].intval)); }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 24:
|
case 24:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 346 "getdate.y"
|
#line 347 "getdate.y"
|
||||||
{ pc->time_zone = (yyvsp[(1) - (1)].intval) + 60; }
|
{ pc->time_zone = (yyvsp[(1) - (1)].intval) + 60; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 25:
|
case 25:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 348 "getdate.y"
|
#line 349 "getdate.y"
|
||||||
{ pc->time_zone = (yyvsp[(1) - (2)].intval) + 60; }
|
{ pc->time_zone = (yyvsp[(1) - (2)].intval) + 60; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 26:
|
case 26:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 353 "getdate.y"
|
#line 354 "getdate.y"
|
||||||
{
|
{
|
||||||
pc->day_ordinal = 1;
|
pc->day_ordinal = 1;
|
||||||
pc->day_number = (yyvsp[(1) - (1)].intval);
|
pc->day_number = (yyvsp[(1) - (1)].intval);
|
||||||
@@ -1825,7 +1826,7 @@ yyreduce:
|
|||||||
|
|
||||||
case 27:
|
case 27:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 358 "getdate.y"
|
#line 359 "getdate.y"
|
||||||
{
|
{
|
||||||
pc->day_ordinal = 1;
|
pc->day_ordinal = 1;
|
||||||
pc->day_number = (yyvsp[(1) - (2)].intval);
|
pc->day_number = (yyvsp[(1) - (2)].intval);
|
||||||
@@ -1834,7 +1835,7 @@ yyreduce:
|
|||||||
|
|
||||||
case 28:
|
case 28:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 363 "getdate.y"
|
#line 364 "getdate.y"
|
||||||
{
|
{
|
||||||
pc->day_ordinal = (yyvsp[(1) - (2)].intval);
|
pc->day_ordinal = (yyvsp[(1) - (2)].intval);
|
||||||
pc->day_number = (yyvsp[(2) - (2)].intval);
|
pc->day_number = (yyvsp[(2) - (2)].intval);
|
||||||
@@ -1843,7 +1844,7 @@ yyreduce:
|
|||||||
|
|
||||||
case 29:
|
case 29:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 368 "getdate.y"
|
#line 369 "getdate.y"
|
||||||
{
|
{
|
||||||
pc->day_ordinal = (yyvsp[(1) - (2)].textintval).value;
|
pc->day_ordinal = (yyvsp[(1) - (2)].textintval).value;
|
||||||
pc->day_number = (yyvsp[(2) - (2)].intval);
|
pc->day_number = (yyvsp[(2) - (2)].intval);
|
||||||
@@ -1852,7 +1853,7 @@ yyreduce:
|
|||||||
|
|
||||||
case 30:
|
case 30:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 376 "getdate.y"
|
#line 377 "getdate.y"
|
||||||
{
|
{
|
||||||
pc->month = (yyvsp[(1) - (3)].textintval).value;
|
pc->month = (yyvsp[(1) - (3)].textintval).value;
|
||||||
pc->day = (yyvsp[(3) - (3)].textintval).value;
|
pc->day = (yyvsp[(3) - (3)].textintval).value;
|
||||||
@@ -1861,7 +1862,7 @@ yyreduce:
|
|||||||
|
|
||||||
case 31:
|
case 31:
|
||||||
/* Line 1269 of yacc.c. */
|
/* 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,
|
/* Interpret as YYYY/MM/DD if the first value has 4 or more digits,
|
||||||
otherwise as MM/DD/YY.
|
otherwise as MM/DD/YY.
|
||||||
@@ -1885,7 +1886,7 @@ yyreduce:
|
|||||||
|
|
||||||
case 32:
|
case 32:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 401 "getdate.y"
|
#line 402 "getdate.y"
|
||||||
{
|
{
|
||||||
/* ISO 8601 format. YYYY-MM-DD. */
|
/* ISO 8601 format. YYYY-MM-DD. */
|
||||||
pc->year = (yyvsp[(1) - (3)].textintval);
|
pc->year = (yyvsp[(1) - (3)].textintval);
|
||||||
@@ -1896,7 +1897,7 @@ yyreduce:
|
|||||||
|
|
||||||
case 33:
|
case 33:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 408 "getdate.y"
|
#line 409 "getdate.y"
|
||||||
{
|
{
|
||||||
/* e.g. 17-JUN-1992. */
|
/* e.g. 17-JUN-1992. */
|
||||||
pc->day = (yyvsp[(1) - (3)].textintval).value;
|
pc->day = (yyvsp[(1) - (3)].textintval).value;
|
||||||
@@ -1908,7 +1909,7 @@ yyreduce:
|
|||||||
|
|
||||||
case 34:
|
case 34:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 416 "getdate.y"
|
#line 417 "getdate.y"
|
||||||
{
|
{
|
||||||
/* e.g. JUN-17-1992. */
|
/* e.g. JUN-17-1992. */
|
||||||
pc->month = (yyvsp[(1) - (3)].intval);
|
pc->month = (yyvsp[(1) - (3)].intval);
|
||||||
@@ -1920,7 +1921,7 @@ yyreduce:
|
|||||||
|
|
||||||
case 35:
|
case 35:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 424 "getdate.y"
|
#line 425 "getdate.y"
|
||||||
{
|
{
|
||||||
pc->month = (yyvsp[(1) - (2)].intval);
|
pc->month = (yyvsp[(1) - (2)].intval);
|
||||||
pc->day = (yyvsp[(2) - (2)].textintval).value;
|
pc->day = (yyvsp[(2) - (2)].textintval).value;
|
||||||
@@ -1929,7 +1930,7 @@ yyreduce:
|
|||||||
|
|
||||||
case 36:
|
case 36:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 429 "getdate.y"
|
#line 430 "getdate.y"
|
||||||
{
|
{
|
||||||
pc->month = (yyvsp[(1) - (4)].intval);
|
pc->month = (yyvsp[(1) - (4)].intval);
|
||||||
pc->day = (yyvsp[(2) - (4)].textintval).value;
|
pc->day = (yyvsp[(2) - (4)].textintval).value;
|
||||||
@@ -1939,7 +1940,7 @@ yyreduce:
|
|||||||
|
|
||||||
case 37:
|
case 37:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 435 "getdate.y"
|
#line 436 "getdate.y"
|
||||||
{
|
{
|
||||||
pc->day = (yyvsp[(1) - (2)].textintval).value;
|
pc->day = (yyvsp[(1) - (2)].textintval).value;
|
||||||
pc->month = (yyvsp[(2) - (2)].intval);
|
pc->month = (yyvsp[(2) - (2)].intval);
|
||||||
@@ -1948,7 +1949,7 @@ yyreduce:
|
|||||||
|
|
||||||
case 38:
|
case 38:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 440 "getdate.y"
|
#line 441 "getdate.y"
|
||||||
{
|
{
|
||||||
pc->day = (yyvsp[(1) - (3)].textintval).value;
|
pc->day = (yyvsp[(1) - (3)].textintval).value;
|
||||||
pc->month = (yyvsp[(2) - (3)].intval);
|
pc->month = (yyvsp[(2) - (3)].intval);
|
||||||
@@ -1958,7 +1959,7 @@ yyreduce:
|
|||||||
|
|
||||||
case 39:
|
case 39:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 449 "getdate.y"
|
#line 450 "getdate.y"
|
||||||
{
|
{
|
||||||
pc->rel.ns -= (yyvsp[(1) - (2)].rel).ns;
|
pc->rel.ns -= (yyvsp[(1) - (2)].rel).ns;
|
||||||
pc->rel.seconds -= (yyvsp[(1) - (2)].rel).seconds;
|
pc->rel.seconds -= (yyvsp[(1) - (2)].rel).seconds;
|
||||||
@@ -1972,7 +1973,7 @@ yyreduce:
|
|||||||
|
|
||||||
case 40:
|
case 40:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 459 "getdate.y"
|
#line 460 "getdate.y"
|
||||||
{
|
{
|
||||||
pc->rel.ns += (yyvsp[(1) - (1)].rel).ns;
|
pc->rel.ns += (yyvsp[(1) - (1)].rel).ns;
|
||||||
pc->rel.seconds += (yyvsp[(1) - (1)].rel).seconds;
|
pc->rel.seconds += (yyvsp[(1) - (1)].rel).seconds;
|
||||||
@@ -1986,175 +1987,175 @@ yyreduce:
|
|||||||
|
|
||||||
case 41:
|
case 41:
|
||||||
/* Line 1269 of yacc.c. */
|
/* 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); }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].intval); }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 42:
|
case 42:
|
||||||
/* Line 1269 of yacc.c. */
|
/* 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; }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].textintval).value; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 43:
|
case 43:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 476 "getdate.y"
|
#line 477 "getdate.y"
|
||||||
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = 1; }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = 1; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 44:
|
case 44:
|
||||||
/* Line 1269 of yacc.c. */
|
/* 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); }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].intval); }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 45:
|
case 45:
|
||||||
/* Line 1269 of yacc.c. */
|
/* 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; }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].textintval).value; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 46:
|
case 46:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 482 "getdate.y"
|
#line 483 "getdate.y"
|
||||||
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = 1; }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = 1; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 47:
|
case 47:
|
||||||
/* Line 1269 of yacc.c. */
|
/* 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); }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].intval) * (yyvsp[(2) - (2)].intval); }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 48:
|
case 48:
|
||||||
/* Line 1269 of yacc.c. */
|
/* 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); }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].textintval).value * (yyvsp[(2) - (2)].intval); }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 49:
|
case 49:
|
||||||
/* Line 1269 of yacc.c. */
|
/* 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); }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (1)].intval); }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 50:
|
case 50:
|
||||||
/* Line 1269 of yacc.c. */
|
/* 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); }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].intval); }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 51:
|
case 51:
|
||||||
/* Line 1269 of yacc.c. */
|
/* 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; }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].textintval).value; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 52:
|
case 52:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 494 "getdate.y"
|
#line 495 "getdate.y"
|
||||||
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = 1; }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = 1; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 53:
|
case 53:
|
||||||
/* Line 1269 of yacc.c. */
|
/* 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); }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].intval); }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 54:
|
case 54:
|
||||||
/* Line 1269 of yacc.c. */
|
/* 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; }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].textintval).value; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 55:
|
case 55:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 500 "getdate.y"
|
#line 501 "getdate.y"
|
||||||
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = 1; }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = 1; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 56:
|
case 56:
|
||||||
/* Line 1269 of yacc.c. */
|
/* 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); }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].intval); }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 57:
|
case 57:
|
||||||
/* Line 1269 of yacc.c. */
|
/* 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; }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].textintval).value; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 58:
|
case 58:
|
||||||
/* Line 1269 of yacc.c. */
|
/* 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; }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].timespec).tv_sec; (yyval.rel).ns = (yyvsp[(1) - (2)].timespec).tv_nsec; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 59:
|
case 59:
|
||||||
/* Line 1269 of yacc.c. */
|
/* 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; }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].timespec).tv_sec; (yyval.rel).ns = (yyvsp[(1) - (2)].timespec).tv_nsec; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 60:
|
case 60:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 510 "getdate.y"
|
#line 511 "getdate.y"
|
||||||
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = 1; }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = 1; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 62:
|
case 62:
|
||||||
/* Line 1269 of yacc.c. */
|
/* 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; }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).year = (yyvsp[(1) - (2)].textintval).value; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 63:
|
case 63:
|
||||||
/* Line 1269 of yacc.c. */
|
/* 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; }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).month = (yyvsp[(1) - (2)].textintval).value; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 64:
|
case 64:
|
||||||
/* Line 1269 of yacc.c. */
|
/* 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); }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).day = (yyvsp[(1) - (2)].textintval).value * (yyvsp[(2) - (2)].intval); }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 65:
|
case 65:
|
||||||
/* Line 1269 of yacc.c. */
|
/* 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; }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).hour = (yyvsp[(1) - (2)].textintval).value; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 66:
|
case 66:
|
||||||
/* Line 1269 of yacc.c. */
|
/* 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; }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).minutes = (yyvsp[(1) - (2)].textintval).value; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 67:
|
case 67:
|
||||||
/* Line 1269 of yacc.c. */
|
/* 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; }
|
{ (yyval.rel) = RELATIVE_TIME_0; (yyval.rel).seconds = (yyvsp[(1) - (2)].textintval).value; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 71:
|
case 71:
|
||||||
/* Line 1269 of yacc.c. */
|
/* 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; }
|
{ (yyval.timespec).tv_sec = (yyvsp[(1) - (1)].textintval).value; (yyval.timespec).tv_nsec = 0; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 73:
|
case 73:
|
||||||
/* Line 1269 of yacc.c. */
|
/* 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; }
|
{ (yyval.timespec).tv_sec = (yyvsp[(1) - (1)].textintval).value; (yyval.timespec).tv_nsec = 0; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 74:
|
case 74:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 545 "getdate.y"
|
#line 546 "getdate.y"
|
||||||
{
|
{
|
||||||
if (pc->dates_seen && ! pc->year.digits
|
if (pc->dates_seen && ! pc->year.digits
|
||||||
&& ! pc->rels_seen && (pc->times_seen || 2 < (yyvsp[(1) - (1)].textintval).digits))
|
&& ! pc->rels_seen && (pc->times_seen || 2 < (yyvsp[(1) - (1)].textintval).digits))
|
||||||
@@ -2192,31 +2193,31 @@ yyreduce:
|
|||||||
|
|
||||||
case 75:
|
case 75:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 582 "getdate.y"
|
#line 583 "getdate.y"
|
||||||
{ (yyval.intval) = -1; }
|
{ (yyval.intval) = -1; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 76:
|
case 76:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 584 "getdate.y"
|
#line 585 "getdate.y"
|
||||||
{ (yyval.intval) = (yyvsp[(2) - (2)].textintval).value; }
|
{ (yyval.intval) = (yyvsp[(2) - (2)].textintval).value; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 77:
|
case 77:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 589 "getdate.y"
|
#line 590 "getdate.y"
|
||||||
{ (yyval.intval) = MER24; }
|
{ (yyval.intval) = MER24; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 78:
|
case 78:
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 591 "getdate.y"
|
#line 592 "getdate.y"
|
||||||
{ (yyval.intval) = (yyvsp[(1) - (1)].intval); }
|
{ (yyval.intval) = (yyvsp[(1) - (1)].intval); }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
/* Line 1269 of yacc.c. */
|
/* Line 1269 of yacc.c. */
|
||||||
#line 2220 "getdate.c"
|
#line 2221 "getdate.c"
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
|
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
|
||||||
@@ -2428,7 +2429,7 @@ yyreturn:
|
|||||||
|
|
||||||
|
|
||||||
/* Line 1486 of yacc.c. */
|
/* Line 1486 of yacc.c. */
|
||||||
#line 594 "getdate.y"
|
#line 595 "getdate.y"
|
||||||
|
|
||||||
|
|
||||||
static table const meridian_table[] =
|
static table const meridian_table[] =
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
/* Parse a string into an internal time stamp.
|
/* 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
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -17,6 +18,6 @@
|
|||||||
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
|
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||||
|
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include "timespec.h"
|
#include <time.h>
|
||||||
|
|
||||||
bool get_date (struct timespec *, char const *, struct timespec const *);
|
bool get_date (struct timespec *, char const *, struct timespec const *);
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
%{
|
%{
|
||||||
/* Parse a string into an internal time stamp.
|
/* 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.
|
Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
@@ -35,6 +35,7 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
#include "getdate.h"
|
#include "getdate.h"
|
||||||
|
#include "timespec.h"
|
||||||
|
|
||||||
/* There's no need to extend the stack, so there's no need to involve
|
/* There's no need to extend the stack, so there's no need to involve
|
||||||
alloca. */
|
alloca. */
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* gethrxtime -- get high resolution real time
|
/* 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
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -22,6 +22,7 @@
|
|||||||
|
|
||||||
#include "gethrxtime.h"
|
#include "gethrxtime.h"
|
||||||
|
|
||||||
|
#include <sys/time.h>
|
||||||
#include "timespec.h"
|
#include "timespec.h"
|
||||||
|
|
||||||
/* Get the current time, as a count of the number of nanoseconds since
|
/* Get the current time, as a count of the number of nanoseconds since
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* Declarations for getopt.
|
/* 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.
|
Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
@@ -101,7 +101,7 @@
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -216,7 +216,7 @@ extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv,
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,11 @@
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* This is for AmigaOS4.0. */
|
||||||
|
#if !defined getpagesize && defined __amigaos4__
|
||||||
|
# define getpagesize() 2048
|
||||||
|
#endif
|
||||||
|
|
||||||
#if !defined getpagesize && HAVE_SYS_PARAM_H
|
#if !defined getpagesize && HAVE_SYS_PARAM_H
|
||||||
# include <sys/param.h>
|
# include <sys/param.h>
|
||||||
# ifdef EXEC_PAGESIZE
|
# ifdef EXEC_PAGESIZE
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* gettime -- get the system clock
|
/* 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
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -22,6 +22,8 @@
|
|||||||
|
|
||||||
#include "timespec.h"
|
#include "timespec.h"
|
||||||
|
|
||||||
|
#include <sys/time.h>
|
||||||
|
|
||||||
/* Get the system time into *TS. */
|
/* Get the system time into *TS. */
|
||||||
|
|
||||||
void
|
void
|
||||||
@@ -36,23 +38,12 @@ gettime (struct timespec *ts)
|
|||||||
return;
|
return;
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# if HAVE_GETTIMEOFDAY
|
|
||||||
{
|
{
|
||||||
struct timeval tv;
|
struct timeval tv;
|
||||||
gettimeofday (&tv, NULL);
|
gettimeofday (&tv, NULL);
|
||||||
ts->tv_sec = tv.tv_sec;
|
ts->tv_sec = tv.tv_sec;
|
||||||
ts->tv_nsec = tv.tv_usec * 1000;
|
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
|
#endif
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
/* Work around the bug in some systems whereby gettimeofday clobbers the
|
/* Provide gettimeofday for systems that don't have it or for which it's broken.
|
||||||
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.
|
|
||||||
|
|
||||||
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
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -23,29 +21,25 @@
|
|||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
/* Disable the definitions of these functions (from config.h)
|
/* Specification. */
|
||||||
so we can use the library versions here. */
|
#include <sys/time.h>
|
||||||
#undef gettimeofday
|
|
||||||
#undef gmtime
|
|
||||||
#undef localtime
|
|
||||||
#undef tzset
|
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <time.h>
|
||||||
|
|
||||||
#if TIME_WITH_SYS_TIME
|
#if HAVE_SYS_TIMEB_H
|
||||||
# include <sys/time.h>
|
# include <sys/timeb.h>
|
||||||
# include <time.h>
|
|
||||||
#else
|
|
||||||
# if HAVE_SYS_TIME_H
|
|
||||||
# include <sys/time.h>
|
|
||||||
# else
|
|
||||||
# include <time.h>
|
|
||||||
# endif
|
|
||||||
#endif
|
#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
|
/* This is a wrapper for localtime. It is used only on systems for which
|
||||||
gettimeofday clobbers the static buffer used for localtime's result.
|
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. */
|
localtime uses for its result. */
|
||||||
|
|
||||||
struct tm *
|
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);
|
struct tm *tm = localtime (timep);
|
||||||
|
|
||||||
if (! localtime_buffer_addr)
|
if (localtime_buffer_addr == &tm_zero_buffer)
|
||||||
localtime_buffer_addr = tm;
|
localtime_buffer_addr = tm;
|
||||||
|
|
||||||
return tm;
|
return tm;
|
||||||
@@ -66,57 +62,81 @@ rpl_localtime (const time_t *timep)
|
|||||||
|
|
||||||
/* Same as above, since gmtime and localtime use the same buffer. */
|
/* Same as above, since gmtime and localtime use the same buffer. */
|
||||||
struct tm *
|
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);
|
struct tm *tm = gmtime (timep);
|
||||||
|
|
||||||
if (! localtime_buffer_addr)
|
if (localtime_buffer_addr == &tm_zero_buffer)
|
||||||
localtime_buffer_addr = tm;
|
localtime_buffer_addr = tm;
|
||||||
|
|
||||||
return tm;
|
return tm;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This is a wrapper for gettimeofday. It is used only on systems for which
|
#endif /* GETTIMEOFDAY_CLOBBERS_LOCALTIME || TZSET_CLOBBERS_LOCALTIME */
|
||||||
gettimeofday clobbers the static buffer used for localtime's result.
|
|
||||||
|
|
||||||
Save and restore the contents of the buffer used for localtime's result
|
#if TZSET_CLOBBERS_LOCALTIME
|
||||||
around the call to gettimeofday. */
|
/* This is a wrapper for tzset, for systems on which tzset may clobber
|
||||||
|
the static buffer used for localtime's result. */
|
||||||
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. */
|
|
||||||
void
|
void
|
||||||
rpl_tzset (void)
|
tzset (void)
|
||||||
{
|
{
|
||||||
struct tm save;
|
#undef tzset
|
||||||
|
extern void tzset (void);
|
||||||
|
|
||||||
if (! localtime_buffer_addr)
|
/* Save and restore the contents of the buffer used for localtime's
|
||||||
{
|
result around the call to tzset. */
|
||||||
time_t t = 0;
|
struct tm save = *localtime_buffer_addr;
|
||||||
localtime_buffer_addr = localtime (&t);
|
|
||||||
}
|
|
||||||
|
|
||||||
save = *localtime_buffer_addr;
|
|
||||||
tzset ();
|
tzset ();
|
||||||
*localtime_buffer_addr = save;
|
*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
@@ -1,6 +1,6 @@
|
|||||||
## DO NOT EDIT! GENERATED AUTOMATICALLY!
|
## DO NOT EDIT! GENERATED AUTOMATICALLY!
|
||||||
## Process this file with automake to produce Makefile.in.
|
## Process this file with automake to produce Makefile.in.
|
||||||
# Copyright (C) 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
|
# This file is free software, distributed under the terms of the GNU
|
||||||
# General Public License. As a special exception to the GNU General
|
# 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.
|
# the same distribution terms as the rest of that program.
|
||||||
#
|
#
|
||||||
# Generated by gnulib-tool.
|
# 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
|
AUTOMAKE_OPTIONS = 1.5 gnits
|
||||||
|
|
||||||
@@ -37,9 +37,9 @@ EXTRA_libcoreutils_a_SOURCES =
|
|||||||
## begin gnulib module acl
|
## 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
|
## 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
|
# We need the following in order to create <arpa/inet.h> when the system
|
||||||
# doesn't have one.
|
# doesn't have one.
|
||||||
arpa/inet.h:
|
arpa/inet.h:
|
||||||
test -d arpa || mkdir arpa
|
@MKDIR_P@ arpa
|
||||||
rm -f $@-t $@
|
rm -f $@-t $@
|
||||||
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
||||||
echo '#include <sys/socket.h>'; \
|
echo '#include <sys/socket.h>'; \
|
||||||
@@ -130,6 +130,18 @@ libcoreutils_a_SOURCES += base64.h base64.c
|
|||||||
|
|
||||||
## end gnulib module base64
|
## 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
|
## begin gnulib module c-strtod
|
||||||
|
|
||||||
|
|
||||||
@@ -352,12 +364,6 @@ EXTRA_libcoreutils_a_SOURCES += exclude.c
|
|||||||
|
|
||||||
## end gnulib module exclude
|
## end gnulib module exclude
|
||||||
|
|
||||||
## begin gnulib module exit
|
|
||||||
|
|
||||||
libcoreutils_a_SOURCES += exit.h
|
|
||||||
|
|
||||||
## end gnulib module exit
|
|
||||||
|
|
||||||
## begin gnulib module exitfail
|
## begin gnulib module exitfail
|
||||||
|
|
||||||
|
|
||||||
@@ -367,6 +373,28 @@ EXTRA_libcoreutils_a_SOURCES += exitfail.c
|
|||||||
|
|
||||||
## end gnulib module exitfail
|
## 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
|
## begin gnulib module fcntl
|
||||||
|
|
||||||
BUILT_SOURCES += $(FCNTL_H)
|
BUILT_SOURCES += $(FCNTL_H)
|
||||||
@@ -537,7 +565,7 @@ EXTRA_libcoreutils_a_SOURCES += gai_strerror.c getaddrinfo.c
|
|||||||
## begin gnulib module getcwd
|
## begin gnulib module getcwd
|
||||||
|
|
||||||
|
|
||||||
EXTRA_DIST += getcwd.c getcwd.h
|
EXTRA_DIST += getcwd.c
|
||||||
|
|
||||||
EXTRA_libcoreutils_a_SOURCES += 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_LONG_LONG_INT''@/$(HAVE_LONG_LONG_INT)/g' \
|
||||||
-e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/$(HAVE_UNSIGNED_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/@''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_IMAXABS''@/$(HAVE_DECL_IMAXABS)/g' \
|
||||||
-e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \
|
-e 's/@''HAVE_DECL_IMAXDIV''@/$(HAVE_DECL_IMAXDIV)/g' \
|
||||||
-e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
|
-e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \
|
||||||
-e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
|
-e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \
|
||||||
|
-e '/definition of GL_LINK_WARNING/r $(LINK_WARNING_H)' \
|
||||||
< $(srcdir)/inttypes_.h; \
|
< $(srcdir)/inttypes_.h; \
|
||||||
} > $@-t
|
} > $@-t
|
||||||
mv $@-t $@
|
mv $@-t $@
|
||||||
@@ -852,6 +885,12 @@ libcoreutils_a_SOURCES += linebuffer.h linebuffer.c
|
|||||||
|
|
||||||
## end gnulib module linebuffer
|
## 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
|
## begin gnulib module localcharset
|
||||||
|
|
||||||
libcoreutils_a_SOURCES += localcharset.h localcharset.c
|
libcoreutils_a_SOURCES += localcharset.h localcharset.c
|
||||||
@@ -939,13 +978,18 @@ EXTRA_libcoreutils_a_SOURCES += malloc.c
|
|||||||
|
|
||||||
## begin gnulib module mbchar
|
## begin gnulib module mbchar
|
||||||
|
|
||||||
|
libcoreutils_a_SOURCES += mbchar.c
|
||||||
|
|
||||||
EXTRA_DIST += mbchar.c mbchar.h
|
EXTRA_DIST += mbchar.h
|
||||||
|
|
||||||
EXTRA_libcoreutils_a_SOURCES += mbchar.c
|
|
||||||
|
|
||||||
## end gnulib module mbchar
|
## end gnulib module mbchar
|
||||||
|
|
||||||
|
## begin gnulib module mbscasecmp
|
||||||
|
|
||||||
|
libcoreutils_a_SOURCES += mbscasecmp.c
|
||||||
|
|
||||||
|
## end gnulib module mbscasecmp
|
||||||
|
|
||||||
## begin gnulib module mbswidth
|
## begin gnulib module mbswidth
|
||||||
|
|
||||||
libcoreutils_a_SOURCES += mbswidth.h mbswidth.c
|
libcoreutils_a_SOURCES += mbswidth.h mbswidth.c
|
||||||
@@ -1024,7 +1068,7 @@ EXTRA_libcoreutils_a_SOURCES += memmove.c
|
|||||||
## begin gnulib module mempcpy
|
## begin gnulib module mempcpy
|
||||||
|
|
||||||
|
|
||||||
EXTRA_DIST += mempcpy.c mempcpy.h
|
EXTRA_DIST += mempcpy.c
|
||||||
|
|
||||||
EXTRA_libcoreutils_a_SOURCES += mempcpy.c
|
EXTRA_libcoreutils_a_SOURCES += mempcpy.c
|
||||||
|
|
||||||
@@ -1033,7 +1077,7 @@ EXTRA_libcoreutils_a_SOURCES += mempcpy.c
|
|||||||
## begin gnulib module memrchr
|
## begin gnulib module memrchr
|
||||||
|
|
||||||
|
|
||||||
EXTRA_DIST += memrchr.c memrchr.h
|
EXTRA_DIST += memrchr.c
|
||||||
|
|
||||||
EXTRA_libcoreutils_a_SOURCES += 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
|
## begin gnulib module mkstemp
|
||||||
|
|
||||||
|
|
||||||
EXTRA_DIST += mkstemp.c mkstemp.h
|
EXTRA_DIST += mkstemp.c
|
||||||
|
|
||||||
EXTRA_libcoreutils_a_SOURCES += mkstemp.c
|
EXTRA_libcoreutils_a_SOURCES += mkstemp.c
|
||||||
|
|
||||||
@@ -1111,6 +1155,15 @@ EXTRA_libcoreutils_a_SOURCES += mountlist.c
|
|||||||
|
|
||||||
## end gnulib module mountlist
|
## 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
|
## 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
|
# We need the following in order to create <netinet/in.h> when the system
|
||||||
# doesn't have one.
|
# doesn't have one.
|
||||||
netinet/in.h:
|
netinet/in.h:
|
||||||
test -d netinet || mkdir netinet
|
@MKDIR_P@ netinet
|
||||||
rm -f $@-t $@
|
rm -f $@-t $@
|
||||||
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
{ 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
|
} > $@-t
|
||||||
mv $@-t $@
|
mv $@-t $@
|
||||||
MOSTLYCLEANFILES += netinet/in.h netinet/in.h-t
|
MOSTLYCLEANFILES += netinet/in.h netinet/in.h-t
|
||||||
MOSTLYCLEANDIRS += netinet
|
MOSTLYCLEANDIRS += netinet
|
||||||
|
|
||||||
|
EXTRA_DIST += netinet_in_.h
|
||||||
|
|
||||||
## end gnulib module netinet_in
|
## end gnulib module netinet_in
|
||||||
|
|
||||||
## begin gnulib module obstack
|
## begin gnulib module obstack
|
||||||
@@ -1150,9 +1207,9 @@ EXTRA_libcoreutils_a_SOURCES += obstack.c
|
|||||||
## begin gnulib module openat
|
## 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
|
## end gnulib module openat
|
||||||
|
|
||||||
@@ -1419,7 +1476,7 @@ EXTRA_libcoreutils_a_SOURCES += sig2str.c
|
|||||||
## begin gnulib module snprintf
|
## begin gnulib module snprintf
|
||||||
|
|
||||||
|
|
||||||
EXTRA_DIST += snprintf.c snprintf.h
|
EXTRA_DIST += snprintf.c
|
||||||
|
|
||||||
EXTRA_libcoreutils_a_SOURCES += snprintf.c
|
EXTRA_libcoreutils_a_SOURCES += snprintf.c
|
||||||
|
|
||||||
@@ -1466,8 +1523,7 @@ BUILT_SOURCES += $(STDINT_H)
|
|||||||
stdint.h: stdint_.h
|
stdint.h: stdint_.h
|
||||||
rm -f $@-t $@
|
rm -f $@-t $@
|
||||||
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
||||||
sed -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \
|
sed -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
|
||||||
-e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
|
|
||||||
-e 's|@''ABSOLUTE_STDINT_H''@|$(ABSOLUTE_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_SYS_TYPES_H''@/$(HAVE_SYS_TYPES_H)/g' \
|
||||||
-e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
|
-e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
|
||||||
@@ -1497,6 +1553,70 @@ EXTRA_DIST += stdint_.h
|
|||||||
|
|
||||||
## end gnulib module stdint
|
## 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
|
## begin gnulib module stdlib-safer
|
||||||
|
|
||||||
|
|
||||||
@@ -1509,21 +1629,12 @@ EXTRA_libcoreutils_a_SOURCES += mkstemp-safer.c
|
|||||||
## begin gnulib module stpcpy
|
## begin gnulib module stpcpy
|
||||||
|
|
||||||
|
|
||||||
EXTRA_DIST += stpcpy.c stpcpy.h
|
EXTRA_DIST += stpcpy.c
|
||||||
|
|
||||||
EXTRA_libcoreutils_a_SOURCES += stpcpy.c
|
EXTRA_libcoreutils_a_SOURCES += stpcpy.c
|
||||||
|
|
||||||
## end gnulib module stpcpy
|
## 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
|
## begin gnulib module strcspn
|
||||||
|
|
||||||
|
|
||||||
@@ -1536,7 +1647,7 @@ EXTRA_libcoreutils_a_SOURCES += strcspn.c
|
|||||||
## begin gnulib module strdup
|
## begin gnulib module strdup
|
||||||
|
|
||||||
|
|
||||||
EXTRA_DIST += strdup.c strdup.h
|
EXTRA_DIST += strdup.c
|
||||||
|
|
||||||
EXTRA_libcoreutils_a_SOURCES += strdup.c
|
EXTRA_libcoreutils_a_SOURCES += strdup.c
|
||||||
|
|
||||||
@@ -1551,10 +1662,72 @@ EXTRA_libcoreutils_a_SOURCES += strftime.c
|
|||||||
|
|
||||||
## end gnulib module strftime
|
## 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
|
## begin gnulib module strndup
|
||||||
|
|
||||||
|
|
||||||
EXTRA_DIST += strndup.c strndup.h
|
EXTRA_DIST += strndup.c
|
||||||
|
|
||||||
EXTRA_libcoreutils_a_SOURCES += strndup.c
|
EXTRA_libcoreutils_a_SOURCES += strndup.c
|
||||||
|
|
||||||
@@ -1563,7 +1736,7 @@ EXTRA_libcoreutils_a_SOURCES += strndup.c
|
|||||||
## begin gnulib module strnlen
|
## begin gnulib module strnlen
|
||||||
|
|
||||||
|
|
||||||
EXTRA_DIST += strnlen.c strnlen.h
|
EXTRA_DIST += strnlen.c
|
||||||
|
|
||||||
EXTRA_libcoreutils_a_SOURCES += strnlen.c
|
EXTRA_libcoreutils_a_SOURCES += strnlen.c
|
||||||
|
|
||||||
@@ -1578,7 +1751,7 @@ libcoreutils_a_SOURCES += strnlen1.h strnlen1.c
|
|||||||
## begin gnulib module strpbrk
|
## begin gnulib module strpbrk
|
||||||
|
|
||||||
|
|
||||||
EXTRA_DIST += strpbrk.c strpbrk.h
|
EXTRA_DIST += strpbrk.c
|
||||||
|
|
||||||
EXTRA_libcoreutils_a_SOURCES += 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
|
# We need the following in order to create <sys/socket.h> when the system
|
||||||
# doesn't have one that works with the given compiler.
|
# doesn't have one that works with the given compiler.
|
||||||
sys/socket.h: socket_.h
|
sys/socket.h: socket_.h
|
||||||
test -d sys || mkdir sys
|
@MKDIR_P@ sys
|
||||||
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
{ 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
|
} > $@-t
|
||||||
mv -f $@-t $@
|
mv -f $@-t $@
|
||||||
MOSTLYCLEANFILES += sys/socket.h sys/socket.h-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
|
# We need the following in order to create <sys/stat.h> when the system
|
||||||
# has one that is incomplete.
|
# has one that is incomplete.
|
||||||
sys/stat.h: stat_.h
|
sys/stat.h: stat_.h
|
||||||
test -d sys || mkdir sys
|
@MKDIR_P@ sys
|
||||||
rm -f $@-t $@
|
rm -f $@-t $@
|
||||||
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
||||||
sed -e 's|@''ABSOLUTE_SYS_STAT_H''@|$(ABSOLUTE_SYS_STAT_H)|g' \
|
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
|
## 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
|
## begin gnulib module tempname
|
||||||
|
|
||||||
|
|
||||||
@@ -1706,10 +1906,35 @@ EXTRA_libcoreutils_a_SOURCES += tempname.c
|
|||||||
|
|
||||||
## end gnulib module tempname
|
## 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
|
## 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
|
EXTRA_libcoreutils_a_SOURCES += time_r.c
|
||||||
|
|
||||||
@@ -1730,15 +1955,35 @@ libcoreutils_a_SOURCES += unicodeio.h unicodeio.c
|
|||||||
|
|
||||||
## begin gnulib module unistd
|
## begin gnulib module unistd
|
||||||
|
|
||||||
BUILT_SOURCES += $(UNISTD_H)
|
BUILT_SOURCES += unistd.h
|
||||||
|
|
||||||
# We need the following in order to create an empty placeholder for
|
# We need the following in order to create an empty placeholder for
|
||||||
# <unistd.h> when the system doesn't have one.
|
# <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 '/* 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' \
|
||||||
MOSTLYCLEANFILES += unistd.h
|
-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
|
## end gnulib module unistd
|
||||||
|
|
||||||
@@ -1839,6 +2084,47 @@ libcoreutils_a_SOURCES += version-etc-fsf.c
|
|||||||
|
|
||||||
## end gnulib module version-etc-fsf
|
## 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
|
## begin gnulib module wcwidth
|
||||||
|
|
||||||
libcoreutils_a_SOURCES += wcwidth.h
|
libcoreutils_a_SOURCES += wcwidth.h
|
||||||
@@ -1892,13 +2178,20 @@ EXTRA_libcoreutils_a_SOURCES += xnanosleep.c
|
|||||||
|
|
||||||
## begin gnulib module xreadlink
|
## begin gnulib module xreadlink
|
||||||
|
|
||||||
|
libcoreutils_a_SOURCES += xreadlink.c
|
||||||
|
|
||||||
EXTRA_DIST += xreadlink.c xreadlink.h
|
EXTRA_DIST += xreadlink.h
|
||||||
|
|
||||||
EXTRA_libcoreutils_a_SOURCES += xreadlink.c
|
|
||||||
|
|
||||||
## end gnulib module xreadlink
|
## 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
|
## begin gnulib module xstrndup
|
||||||
|
|
||||||
libcoreutils_a_SOURCES += xstrndup.h xstrndup.c
|
libcoreutils_a_SOURCES += xstrndup.h xstrndup.c
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* hard-locale.c -- Determine whether a locale is hard.
|
/* hard-locale.c -- Determine whether a locale is hard.
|
||||||
|
|
||||||
Copyright (C) 1997, 1998, 1999, 2002, 2003, 2004, 2006 Free
|
Copyright (C) 1997, 1998, 1999, 2002, 2003, 2004, 2006, 2007 Free
|
||||||
Software Foundation, Inc.
|
Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
@@ -25,8 +25,6 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "strdup.h"
|
|
||||||
|
|
||||||
#ifdef __GLIBC__
|
#ifdef __GLIBC__
|
||||||
# define GLIBC_VERSION __GLIBC__
|
# define GLIBC_VERSION __GLIBC__
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -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.
|
Written by Paul Eggert, Bruno Haible, Derek Price.
|
||||||
This file is part of gnulib.
|
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]>."
|
# error "This file assumes that 'int' has exactly 32 bits. Please report your platform and compiler to <[email protected]>."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* The definition of GL_LINK_WARNING is copied here. */
|
||||||
|
|
||||||
/* 7.8.1 Macros for format specifiers */
|
/* 7.8.1 Macros for format specifiers */
|
||||||
|
|
||||||
#if ! defined __cplusplus || defined __STDC_FORMAT_MACROS
|
#if ! defined __cplusplus || defined __STDC_FORMAT_MACROS
|
||||||
@@ -1034,20 +1036,53 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !@HAVE_DECL_IMAXABS@
|
#if @GNULIB_IMAXABS@
|
||||||
|
# if !@HAVE_DECL_IMAXABS@
|
||||||
extern intmax_t imaxabs (intmax_t);
|
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
|
#endif
|
||||||
|
|
||||||
#if !@HAVE_DECL_IMAXDIV@
|
#if @GNULIB_IMAXDIV@
|
||||||
|
# if !@HAVE_DECL_IMAXDIV@
|
||||||
typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t;
|
typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t;
|
||||||
extern imaxdiv_t imaxdiv (intmax_t, intmax_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
|
#endif
|
||||||
|
|
||||||
#if !@HAVE_DECL_STRTOIMAX@
|
#if @GNULIB_STRTOIMAX@
|
||||||
|
# if !@HAVE_DECL_STRTOIMAX@
|
||||||
extern intmax_t strtoimax (const char *, char **, int);
|
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
|
#endif
|
||||||
#if !@HAVE_DECL_STRTOUMAX@
|
|
||||||
|
#if @GNULIB_STRTOUMAX@
|
||||||
|
# if !@HAVE_DECL_STRTOUMAX@
|
||||||
extern uintmax_t strtoumax (const char *, char **, int);
|
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
|
#endif
|
||||||
|
|
||||||
/* Don't bother defining or declaring wcstoimax and wcstoumax, since
|
/* Don't bother defining or declaring wcstoimax and wcstoumax, since
|
||||||
|
|||||||
@@ -155,132 +155,7 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <wchar.h>
|
#include <wchar.h>
|
||||||
|
#include <wctype.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 "wcwidth.h"
|
#include "wcwidth.h"
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* Case-insensitive string comparison function.
|
/* 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,
|
Written by Bruno Haible <bruno@clisp.org>, 2005,
|
||||||
based on earlier glibc code.
|
based on earlier glibc code.
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
/* Specification. */
|
/* Specification. */
|
||||||
#include "strcase.h"
|
#include <string.h>
|
||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
@@ -31,13 +31,13 @@
|
|||||||
|
|
||||||
#define TOLOWER(Ch) (isupper (Ch) ? tolower (Ch) : (Ch))
|
#define TOLOWER(Ch) (isupper (Ch) ? tolower (Ch) : (Ch))
|
||||||
|
|
||||||
/* Compare strings S1 and S2, ignoring case, returning less than, equal to or
|
/* Compare the character strings S1 and S2, ignoring case, returning less than,
|
||||||
greater than zero if S1 is lexicographically less than, equal to or greater
|
equal to or greater than zero if S1 is lexicographically less than, equal to
|
||||||
than S2.
|
or greater than S2.
|
||||||
Note: This function may, in multibyte locales, return 0 for strings of
|
Note: This function may, in multibyte locales, return 0 for strings of
|
||||||
different lengths! */
|
different lengths! */
|
||||||
int
|
int
|
||||||
strcasecmp (const char *s1, const char *s2)
|
mbscasecmp (const char *s1, const char *s2)
|
||||||
{
|
{
|
||||||
if (s1 == s2)
|
if (s1 == s2)
|
||||||
return 0;
|
return 0;
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/* Determine the number of screen columns needed for a string.
|
/* 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
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -31,26 +31,13 @@
|
|||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
/* Get mbstate_t, mbrtowc(), mbsinit(). */
|
/* Get mbstate_t, mbrtowc(), mbsinit(). */
|
||||||
#if HAVE_WCHAR_H
|
#include <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
|
|
||||||
|
|
||||||
/* Get wcwidth(). */
|
/* Get wcwidth(). */
|
||||||
#include "wcwidth.h"
|
#include "wcwidth.h"
|
||||||
|
|
||||||
/* Get iswcntrl(). */
|
/* Get iswcntrl(). */
|
||||||
#if HAVE_WCTYPE_H
|
#include <wctype.h>
|
||||||
# include <wctype.h>
|
|
||||||
#endif
|
|
||||||
#if !defined iswcntrl && !HAVE_ISWCNTRL
|
|
||||||
# define iswcntrl(wc) (((wc) & ~0x1f) == 0 || (wc) == 0x7f)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef mbsinit
|
#ifndef mbsinit
|
||||||
# if !HAVE_MBSINIT
|
# if !HAVE_MBSINIT
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* Determine the number of screen columns needed for a string.
|
/* 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
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -56,6 +56,6 @@ extern int mbswidth (const char *string, int flags);
|
|||||||
extern int mbsnwidth (const char *buf, size_t nbytes, int flags);
|
extern int mbsnwidth (const char *buf, size_t nbytes, int flags);
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* Iterating through multibyte strings: macros for multi-byte encodings.
|
/* 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
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -73,6 +73,9 @@
|
|||||||
mbui_reloc (iter, ptrdiff)
|
mbui_reloc (iter, ptrdiff)
|
||||||
relocates iterator when the string is moved by ptrdiff bytes.
|
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.
|
Here are the function prototypes of the macros.
|
||||||
|
|
||||||
extern void mbui_init (mbui_iterator_t iter, const char *startptr);
|
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 mbchar_t mbui_cur (mbui_iterator_t iter);
|
||||||
extern const char * mbui_cur_ptr (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_reloc (mbui_iterator_t iter, ptrdiff_t ptrdiff);
|
||||||
|
extern void mbui_copy (mbui_iterator_t *new, const mbui_iterator_t *old);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _MBUITER_H
|
#ifndef _MBUITER_H
|
||||||
@@ -89,6 +93,7 @@
|
|||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
|
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
|
||||||
<wchar.h>.
|
<wchar.h>.
|
||||||
@@ -182,6 +187,17 @@ mbuiter_multi_reloc (struct mbuiter_multi *iter, ptrdiff_t ptrdiff)
|
|||||||
iter->cur.ptr += 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. */
|
/* Iteration macros. */
|
||||||
typedef struct mbuiter_multi mbui_iterator_t;
|
typedef struct mbuiter_multi mbui_iterator_t;
|
||||||
#define mbui_init(iter, startptr) \
|
#define mbui_init(iter, startptr) \
|
||||||
@@ -200,4 +216,7 @@ typedef struct mbuiter_multi mbui_iterator_t;
|
|||||||
/* Relocation. */
|
/* Relocation. */
|
||||||
#define mbui_reloc(iter, ptrdiff) mbuiter_multi_reloc (&iter, ptrdiff)
|
#define mbui_reloc(iter, ptrdiff) mbuiter_multi_reloc (&iter, ptrdiff)
|
||||||
|
|
||||||
|
/* Copying an iterator. */
|
||||||
|
#define mbui_copy mbuiter_multi_copy
|
||||||
|
|
||||||
#endif /* _MBUITER_H */
|
#endif /* _MBUITER_H */
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* Copy memory area and return pointer after last written byte.
|
/* Copy memory area and return pointer after last written byte.
|
||||||
Copyright (C) 2003 Free Software Foundation, Inc.
|
Copyright (C) 2003, 2007 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -15,9 +15,9 @@
|
|||||||
along with this program; if not, write to the Free Software Foundation,
|
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. */
|
||||||
|
|
||||||
/* Specification. */
|
#include <config.h>
|
||||||
#include "mempcpy.h"
|
|
||||||
|
|
||||||
|
/* Specification. */
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
/* Copy N bytes of SRC to DEST, return pointer to bytes after the
|
/* Copy N bytes of SRC to DEST, return pointer to bytes after the
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/* memrchr -- find the last occurrence of a byte in a memory block
|
/* memrchr -- find the last occurrence of a byte in a memory block
|
||||||
|
|
||||||
Copyright (C) 1991, 1993, 1996, 1997, 1999, 2000, 2003, 2004, 2005,
|
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),
|
Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
|
||||||
with help from Dan Sahlin (dan@sics.se) and
|
with help from Dan Sahlin (dan@sics.se) and
|
||||||
@@ -24,14 +24,13 @@
|
|||||||
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
|
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
|
||||||
|
|
||||||
#if defined _LIBC
|
#if defined _LIBC
|
||||||
# include <string.h>
|
|
||||||
# include <memcopy.h>
|
# include <memcopy.h>
|
||||||
#else
|
#else
|
||||||
# include <config.h>
|
# include <config.h>
|
||||||
# include "memrchr.h"
|
|
||||||
# define reg_char char
|
# define reg_char char
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
|
|
||||||
#undef __memrchr
|
#undef __memrchr
|
||||||
|
|||||||
@@ -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
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
/* mkdir-p.c -- Ensure that a directory and its parents exist.
|
/* mkdir-p.c -- Ensure that a directory and its parents exist.
|
||||||
|
|
||||||
Copyright (C) 1990, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, 2006
|
Copyright (C) 1990, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005,
|
||||||
Free Software Foundation, Inc.
|
2006, 2007 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -115,19 +115,24 @@ make_dir_parents (char *dir,
|
|||||||
|
|
||||||
if (0 <= prefix_len)
|
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
|
more restrictive permissions at first, so unauthorized
|
||||||
users cannot nip in before the directory is ready. */
|
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;
|
mode_t mkdir_mode = mode;
|
||||||
if (! (owner == (uid_t) -1 && group == (gid_t) -1))
|
if (! keep_owner)
|
||||||
mkdir_mode &= S_IRWXU;
|
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)
|
if (mkdir (dir + prefix_len, mkdir_mode) == 0)
|
||||||
{
|
{
|
||||||
announce (dir, options);
|
announce (dir, options);
|
||||||
preserve_existing =
|
preserve_existing = keep_owner & keep_special_mode_bits;
|
||||||
(owner == (uid_t) -1 && group == (gid_t) -1
|
|
||||||
&& ! ((mode_bits & (S_ISUID | S_ISGID)) | (mode & S_ISVTX)));
|
|
||||||
savewd_chdir_options |=
|
savewd_chdir_options |=
|
||||||
(SAVEWD_CHDIR_NOFOLLOW
|
(SAVEWD_CHDIR_NOFOLLOW
|
||||||
| (mode & S_IRUSR ? SAVEWD_CHDIR_READABLE : 0));
|
| (mode & S_IRUSR ? SAVEWD_CHDIR_READABLE : 0));
|
||||||
@@ -188,7 +193,7 @@ make_dir_parents (char *dir,
|
|||||||
(! chdir_failed_unexpectedly ? errno
|
(! chdir_failed_unexpectedly ? errno
|
||||||
: ! chdir_ok && (mode & S_IXUSR) ? chdir_errno
|
: ! chdir_ok && (mode & S_IXUSR) ? chdir_errno
|
||||||
: open_result[1]),
|
: open_result[1]),
|
||||||
_(owner == (uid_t) -1 && group == (gid_t) -1
|
_(keep_owner
|
||||||
? "cannot change permissions of %s"
|
? "cannot change permissions of %s"
|
||||||
: "cannot change owner and permissions of %s"),
|
: "cannot change owner and permissions of %s"),
|
||||||
quote (dir));
|
quote (dir));
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* Invoke mkstemp, but avoid some glitches.
|
/* 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
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
#include "stdlib-safer.h"
|
#include "stdlib-safer.h"
|
||||||
|
|
||||||
#include "mkstemp.h"
|
#include <stdlib.h>
|
||||||
#include "unistd-safer.h"
|
#include "unistd-safer.h"
|
||||||
|
|
||||||
/* Like mkstemp, but do not return STDIN_FILENO, STDOUT_FILENO, or
|
/* Like mkstemp, but do not return STDIN_FILENO, STDOUT_FILENO, or
|
||||||
|
|||||||
@@ -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 file is derived from the one in the GNU C Library.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
@@ -17,14 +17,17 @@
|
|||||||
|
|
||||||
#if !_LIBC
|
#if !_LIBC
|
||||||
# include <config.h>
|
# include <config.h>
|
||||||
# include "mkstemp.h"
|
#endif
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#if !_LIBC
|
||||||
# include "tempname.h"
|
# include "tempname.h"
|
||||||
# define __gen_tempname gen_tempname
|
# define __gen_tempname gen_tempname
|
||||||
# define __GT_FILE GT_FILE
|
# define __GT_FILE GT_FILE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#ifndef __GT_FILE
|
#ifndef __GT_FILE
|
||||||
# define __GT_FILE 0
|
# define __GT_FILE 0
|
||||||
|
|||||||
@@ -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
|
|
||||||
@@ -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.
|
/* 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.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Paul Eggert <eggert@twinsun.com>.
|
Contributed by Paul Eggert <eggert@twinsun.com>.
|
||||||
|
|
||||||
@@ -23,7 +21,7 @@
|
|||||||
mktime. */
|
mktime. */
|
||||||
/* #define DEBUG 1 */
|
/* #define DEBUG 1 */
|
||||||
|
|
||||||
#if 1
|
#ifndef _LIBC
|
||||||
# include <config.h>
|
# include <config.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -34,7 +32,6 @@
|
|||||||
# define LEAP_SECONDS_POSSIBLE 1
|
# define LEAP_SECONDS_POSSIBLE 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <sys/types.h> /* Some systems define `time_t' here. */
|
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
@@ -143,11 +140,10 @@ const unsigned short int __mon_yday[2][13] =
|
|||||||
|
|
||||||
|
|
||||||
#ifndef _LIBC
|
#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
|
declares a POSIX-compliant localtime_r, for the benefit of older
|
||||||
implementations that lack localtime_r or have a nonstandard one.
|
implementations that lack localtime_r or have a nonstandard one.
|
||||||
See the gnulib time_r module for one way to implement this. */
|
See the gnulib time_r module for one way to implement this. */
|
||||||
# include "time_r.h"
|
|
||||||
# undef __localtime_r
|
# undef __localtime_r
|
||||||
# define __localtime_r localtime_r
|
# define __localtime_r localtime_r
|
||||||
# define __mktime_internal mktime_internal
|
# define __mktime_internal mktime_internal
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/* mountlist.c -- return a list of mounted file systems
|
/* mountlist.c -- return a list of mounted file systems
|
||||||
|
|
||||||
Copyright (C) 1991, 1992, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
|
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
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -28,10 +28,6 @@
|
|||||||
|
|
||||||
#include "xalloc.h"
|
#include "xalloc.h"
|
||||||
|
|
||||||
#ifndef strstr
|
|
||||||
char *strstr ();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
@@ -143,6 +139,16 @@ char *strstr ();
|
|||||||
# define SIZE_MAX ((size_t) -1)
|
# define SIZE_MAX ((size_t) -1)
|
||||||
#endif
|
#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
|
#ifndef ME_DUMMY
|
||||||
# define ME_DUMMY(Fs_name, Fs_type) \
|
# define ME_DUMMY(Fs_name, Fs_type) \
|
||||||
(strcmp (Fs_type, "autofs") == 0 \
|
(strcmp (Fs_type, "autofs") == 0 \
|
||||||
|
|||||||
@@ -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);
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
#include <stddef.h>
|
||||||
|
void mpsort (void const **, size_t, int (*) (void const *, void const *));
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
/* Provide a replacement for the POSIX nanosleep function.
|
/* Provide a replacement for the POSIX nanosleep function.
|
||||||
|
|
||||||
Copyright (C) 1999, 2000, 2002, 2004, 2005, 2006 Free Software
|
Copyright (C) 1999, 2000, 2002, 2004, 2005, 2006, 2007 Free
|
||||||
Foundation, Inc.
|
Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -21,9 +21,9 @@
|
|||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
/* Undefine nanosleep here so any prototype is not redefined to be a
|
#include <time.h>
|
||||||
prototype for rpl_nanosleep. (they'd conflict e.g., on alpha-dec-osf3.2) */
|
|
||||||
#undef nanosleep
|
#include "timespec.h"
|
||||||
|
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -33,22 +33,12 @@
|
|||||||
#endif
|
#endif
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
|
||||||
#if TIME_WITH_SYS_TIME
|
#include <sys/time.h>
|
||||||
# include <sys/time.h>
|
|
||||||
# include <time.h>
|
|
||||||
#else
|
|
||||||
# if HAVE_SYS_TIME_H
|
|
||||||
# include <sys/time.h>
|
|
||||||
# else
|
|
||||||
# include <time.h>
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
#include "timespec.h"
|
#undef nanosleep
|
||||||
|
|
||||||
enum { BILLION = 1000 * 1000 * 1000 };
|
enum { BILLION = 1000 * 1000 * 1000 };
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* Searching in a string.
|
/* Substitute for <netinet/in.h>.
|
||||||
Copyright (C) 2001-2002 Free Software Foundation, Inc.
|
Copyright (C) 2007 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -15,14 +15,23 @@
|
|||||||
along with this program; if not, write to the Free Software Foundation,
|
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. */
|
||||||
|
|
||||||
#if HAVE_STRPBRK
|
#ifndef _GL_NETINET_IN_H
|
||||||
|
#define _GL_NETINET_IN_H
|
||||||
|
|
||||||
/* Get strpbrk() declaration. */
|
#if @HAVE_NETINET_IN_H@
|
||||||
#include <string.h>
|
|
||||||
|
/* On many platforms, <netinet/in.h> assumes prior inclusion of
|
||||||
|
<sys/types.h>. */
|
||||||
|
|
||||||
|
# include <sys/types.h>
|
||||||
|
# include @ABSOLUTE_NETINET_IN_H@
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
/* Find the first occurrence in S of any character in ACCEPT. */
|
/* A platform that lacks <netinet/in.h>. */
|
||||||
extern char *strpbrk (const char *s, const char *accept);
|
|
||||||
|
# include <sys/socket.h>
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif /* _GL_NETINET_IN_H */
|
||||||
@@ -34,6 +34,11 @@
|
|||||||
#include "same-inode.h"
|
#include "same-inode.h"
|
||||||
#include "xalloc.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_FORMAT "/proc/self/fd/%d/%s"
|
||||||
|
|
||||||
#define PROC_SELF_FD_NAME_SIZE_BOUND(len) \
|
#define PROC_SELF_FD_NAME_SIZE_BOUND(len) \
|
||||||
|
|||||||
@@ -268,19 +268,3 @@ fdopendir (int fd)
|
|||||||
#undef AT_FUNC_USE_F1_COND
|
#undef AT_FUNC_USE_F1_COND
|
||||||
#undef AT_FUNC_POST_FILE_PARAM_DECLS
|
#undef AT_FUNC_POST_FILE_PARAM_DECLS
|
||||||
#undef AT_FUNC_POST_FILE_ARGS
|
#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"
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/* Parse dates for touch and date.
|
/* Parse dates for touch and date.
|
||||||
|
|
||||||
Copyright (C) 1989, 1990, 1991, 1998, 2000, 2001, 2002, 2003, 2004,
|
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
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -22,21 +22,13 @@
|
|||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
#include <stdbool.h>
|
#include "posixtm.h"
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <string.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
|
#if USE_UNLOCKED_IO
|
||||||
# include "unlocked-io.h"
|
# include "unlocked-io.h"
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* Parse dates for touch and date.
|
/* 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
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -22,6 +22,9 @@
|
|||||||
#ifndef POSIXTM_H_
|
#ifndef POSIXTM_H_
|
||||||
# define POSIXTM_H_
|
# define POSIXTM_H_
|
||||||
|
|
||||||
|
# include <stdbool.h>
|
||||||
|
# include <time.h>
|
||||||
|
|
||||||
/* POSIX Date Syntax flags. */
|
/* POSIX Date Syntax flags. */
|
||||||
# define PDS_LEADING_YEAR 1
|
# define PDS_LEADING_YEAR 1
|
||||||
# define PDS_TRAILING_YEAR 2
|
# define PDS_TRAILING_YEAR 2
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* Decomposed printf argument list.
|
/* 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
|
This program is free software; you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -56,7 +56,7 @@ printf_fetchargs (va_list args, arguments *a)
|
|||||||
case TYPE_ULONGINT:
|
case TYPE_ULONGINT:
|
||||||
ap->a.a_ulongint = va_arg (args, unsigned long int);
|
ap->a.a_ulongint = va_arg (args, unsigned long int);
|
||||||
break;
|
break;
|
||||||
#ifdef HAVE_LONG_LONG_INT
|
#if HAVE_LONG_LONG_INT
|
||||||
case TYPE_LONGLONGINT:
|
case TYPE_LONGLONGINT:
|
||||||
ap->a.a_longlongint = va_arg (args, long long int);
|
ap->a.a_longlongint = va_arg (args, long long int);
|
||||||
break;
|
break;
|
||||||
@@ -67,7 +67,7 @@ printf_fetchargs (va_list args, arguments *a)
|
|||||||
case TYPE_DOUBLE:
|
case TYPE_DOUBLE:
|
||||||
ap->a.a_double = va_arg (args, double);
|
ap->a.a_double = va_arg (args, double);
|
||||||
break;
|
break;
|
||||||
#ifdef HAVE_LONG_DOUBLE
|
#if HAVE_LONG_DOUBLE
|
||||||
case TYPE_LONGDOUBLE:
|
case TYPE_LONGDOUBLE:
|
||||||
ap->a.a_longdouble = va_arg (args, long double);
|
ap->a.a_longdouble = va_arg (args, long double);
|
||||||
break;
|
break;
|
||||||
@@ -75,7 +75,7 @@ printf_fetchargs (va_list args, arguments *a)
|
|||||||
case TYPE_CHAR:
|
case TYPE_CHAR:
|
||||||
ap->a.a_char = va_arg (args, int);
|
ap->a.a_char = va_arg (args, int);
|
||||||
break;
|
break;
|
||||||
#ifdef HAVE_WINT_T
|
#if HAVE_WINT_T
|
||||||
case TYPE_WIDE_CHAR:
|
case TYPE_WIDE_CHAR:
|
||||||
/* Although ISO C 99 7.24.1.(2) says that wint_t is "unchanged by
|
/* 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,
|
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)
|
if (ap->a.a_string == NULL)
|
||||||
ap->a.a_string = "(NULL)";
|
ap->a.a_string = "(NULL)";
|
||||||
break;
|
break;
|
||||||
#ifdef HAVE_WCHAR_T
|
#if HAVE_WCHAR_T
|
||||||
case TYPE_WIDE_STRING:
|
case TYPE_WIDE_STRING:
|
||||||
ap->a.a_wide_string = va_arg (args, const wchar_t *);
|
ap->a.a_wide_string = va_arg (args, const wchar_t *);
|
||||||
/* A null pointer is an invalid argument for "%ls", but in practice
|
/* 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:
|
case TYPE_COUNT_LONGINT_POINTER:
|
||||||
ap->a.a_count_longint_pointer = va_arg (args, long int *);
|
ap->a.a_count_longint_pointer = va_arg (args, long int *);
|
||||||
break;
|
break;
|
||||||
#ifdef HAVE_LONG_LONG_INT
|
#if HAVE_LONG_LONG_INT
|
||||||
case TYPE_COUNT_LONGLONGINT_POINTER:
|
case TYPE_COUNT_LONGLONGINT_POINTER:
|
||||||
ap->a.a_count_longlongint_pointer = va_arg (args, long long int *);
|
ap->a.a_count_longlongint_pointer = va_arg (args, long long int *);
|
||||||
break;
|
break;
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user